簡體   English   中英

獲取從jQuery Ajax調用返回的數據

[英]Getting data returned from a jquery ajax call

我正在嘗試從jquery ajax調用所調用的函數獲取數據返回。 我的函數位於一個php文件中,看起來像他的

valid_user() {

    $id = $_POST('id');

    if($id == 'hello'){
        return true;
    }
    else{
        return false;
    }
}

這是我的ajax電話

$.ajax({
    type: "POST",
    url: path + "valid_user",
    sucess: function(msg) {
         alert("Data returned: " + msg );
     }
 });

我已經測試了所有功能,並且該功能正在喚醒(在此示例中已更改),但是我無法返回該函數valid_id()的返回值。 我怎么得到這個? 變量msg保持返回為空。 謝謝

據我了解,有幾個問題。

1)沒有調用方法valid_user()。
2)網址看起來也不正確。
3)“成功”關鍵字拼寫為“成功”。
4)您沒有傳遞任何“數據”。

這是一個根據您的需求量身定制的ajax調用示例。

 $.ajax({
   type: "POST",
   url: "validateUser.php",
   data: "id=49",
   success: function(msg){
     alert( "true or false: " + msg );
   }
 });

看來您拼錯了sucess ----但這可能不在您的運行代碼中。 您應該檢查success第二個參數:

success:function(data, textStatus)

您需要編寫PHP服務器端代碼,以調用該函數並將其返回值寫入輸出流。 例如:

<?php echo valid_user(); ?>

這應該可以工作-為了以防萬一,您可能希望對POST值進行更好的清理。

在PHP文件中:

$id = isset($_POST['id']) ? trim($_POST['id']) : '';
$return = 'false';

if($id!=''){
   valid_user($id);
}

echo $return;

valid_user($id) {
    if($id == 'hello'){
        $return = 'true';
    }
}

jQuery呼叫:

<script>
id = 'hello';    
$.ajax({
   type: "POST",
   url: "validateUser.php?id="+id,
   success: function(msg) {
      alert("Data returned: " + msg );
   }
});
</script>

謝謝您的幫助,我發現了這個問題,之所以無法運行,是因為我的函數valid_id()返回的是true或false,並且我需要返回echo“ true”; 並回顯“ false”; 一旦執行此操作,msg變量將包含數據true或false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM