我正在尝试将php数组中的message
记录到控制台。实际发生的是,数据不返回任何内容,消息返回“成功”,data.message未定义。
JavaScript的:
var message = '';
jQuery.ajax({
url: '/dir/myfile.php',
type: "POST",
dataType: "json",
data: { message : message },
error: function(xhr, text, thrown){
console.log('error');
},
success: function(data, message, text, xhr){
if(data.message){
console.log('data exists');
} else if(message){
console.log(message);
}else{
console.log('no data');
}
},
})
PHP:
$output = array(
'code' => 1,
'message' => 'Please work!'
);
echo json_encode($output);
答案 0 :(得分:2)
根据https://api.jquery.com/jQuery.ajax/,成功回调的原型应该是:
Function(PlainObject data, String textStatus, jqXHR jqXHR)
无论如何,你不应该做这样的测试:
if (data) { ... } else if (msg) { ... }
因为您的消息是您的数据!
你想要的是:
if (data) { console.log(data.code) ; console.log(data.message) ; }