2017-06-13 124 views
-1

我想將一些數據從PHP發回AJAX。我找到了一些例子,但它似乎沒有工作。控制檯日誌的結果是:「test:success」。我如何獲取數據?從PHP獲取數據到AJAX

$.ajax({ 
    url: "assets/psv.php", 
    method: "POST", 
    dataType: "HTML", 
    success: function(results, test){ 
     console.log("test:" + test); 
    }, 
    error : function (e) { 
     console.log("error " + e); 
    } 
}); 

PHP

$test= "pgv"; 

echo $test; 
+0

你能分享鏈接或小提琴?並請更新PHP代碼的建議。 –

+0

你爲什麼選擇其他答案?如果你還沒有添加_json_encode_它將永遠不會工作... –

+0

另一個答案適用於json_encode –

回答

1

在成功回調的第一個變量包含你的頁面接收到的數據調用。

PHP

header('Content-Type: application/json'); 
$test= "pgv"; 

echo json_encode($test); 

JS

$.ajax({ 
    url: "assets/psv.php", 
    method: "GET", 
    dataType: "json", 
    success: function(response, status){ 
     console.log("test", response.data); //CHANGE THIS!! 
    }, 
    error : function (e) { 
     console.log("error " + e); 
    } 
}); 

數據將包含

{ 
    headers: "...", 
    data: "pgv", 
    .... 
} 
+0

我得到的測試:undefined –

+0

dataType:「json」,也因爲你沒有發表任何東西,你可以設置「GET」,而不是「POST」 –

+0

你還設置了標題('Content-Type:application/json');在你的PHP? –

2

嘗試:

$.ajax({ 
    url: "assets/psv.php", 
    method: "GET", 
    success: function(data){ 
     console.log("test:" + data); 
    }, 
    error : function (e) { 
     console.log("error " + e); 
    } 
}); 

或者是這樣的:

$.get("assets/psv.php", function(data) { 
    alert("Data Loaded: " + data); 
}); 
+0

我仍然得到測試:成功 –

+0

嘗試刪除您的數據類型'dataType:「HTML」' – hungrykoala

+0

嘗試過但沒有任何更改 –