我正在使用jquery ajax来调用PHP
PHP
$response = array('isSuccessful'=> true , 'currentId'=> $currentId);
$response = json_encode($response);
echo $response;
ajax中的Success()
success:function(data){
var currentData=data;
console.log(currentData);
var s=currentData.currentId;
console.log(s);
}
输出
{"isSuccessful":true,"currentId":13}
undefined
我犯了什么错误。
答案 0 :(得分:1)
您还需要发送正确的标头(在本例中为application/json
):
$response = array('isSuccessful'=> true , 'currentId'=> $currentId);
$response = json_encode($response);
header('Content-Type: application/json');
echo $response;
或者如果你想自己解析它,那么你可以使用$.parseJSON(data)
,但是如果解析失败,请确保管理抛出的错误。
答案 1 :(得分:0)
您在ajax调用中缺少dataType,可以阅读in the ajax documentation。
$.ajax({
type:"POST",
url:"php/registerDetails.php",
data:data,
dataType:"json",
success:function(data){
var currentData=data;
console.log(currentData);
var s=currentData.currentId;
console.log(s);
},
error:function(jqXHR, textStatus, errorThrown){
console.log(errorThrown);
},
});
这通常不是必需的(例如,如果您设置标题并让jquery猜它),但我建议确保jquery知道它接收和处理错误的数据(如果有的话)而不是依赖另一个页面上的脚本与另一种语言,以确保您的数据完整性。