AJAX 中 response.message 的未定义值
Undefined value for response.message in AJAX
我正在尝试将 response.message 作为内容显示到 ID 为 test 的标签。它显示为未定义。
success:function(response){
console.log("response"+response); // works
var msg = response.message;
if(response.status=="success"){
console.log("response1"+msg);
document.getElementById('test').innerHTML = msg; //undefined
} else {
jQuery('#test').contents(msg);
document.getElementById('test').innerHTML = msg; //undefined
}
}
我通常处理这个问题的方法是解析 JSON 响应,使其成为 JavaScript object(使用 JSON.parse),试试下面的代码.
success: function(response) {
console.log("response" + response);
response = JSON.parse(response);
var msg = response.message; // works
if (response.status == "success") {
console.log("response1" + msg); // prints/works
document.getElementById('test').innerHTML = msg; //undefined
} else {
jQuery('#test').contents(msg);
document.getElementById('test').innerHTML = msg; //undefined
}
}
备选方案
您还应该能够在使用 headers
输出之前在 PHP 页面本身上设置内容类型
header("Content-type:application/json");
您还可以在 ajax 调用中将数据类型设置为 json,这是非常标准的
$.ajax({
type: "POST",
url: "",
dataType: "json",
success: function(msg) {
//process success
}
...
});
undefined 不是 msg,undefined 可能是来自 document.getElementById('test')
.
的 return
我正在尝试将 response.message 作为内容显示到 ID 为 test 的标签。它显示为未定义。
success:function(response){
console.log("response"+response); // works
var msg = response.message;
if(response.status=="success"){
console.log("response1"+msg);
document.getElementById('test').innerHTML = msg; //undefined
} else {
jQuery('#test').contents(msg);
document.getElementById('test').innerHTML = msg; //undefined
}
}
我通常处理这个问题的方法是解析 JSON 响应,使其成为 JavaScript object(使用 JSON.parse),试试下面的代码.
success: function(response) {
console.log("response" + response);
response = JSON.parse(response);
var msg = response.message; // works
if (response.status == "success") {
console.log("response1" + msg); // prints/works
document.getElementById('test').innerHTML = msg; //undefined
} else {
jQuery('#test').contents(msg);
document.getElementById('test').innerHTML = msg; //undefined
}
}
备选方案
您还应该能够在使用 headers
输出之前在 PHP 页面本身上设置内容类型header("Content-type:application/json");
您还可以在 ajax 调用中将数据类型设置为 json,这是非常标准的
$.ajax({
type: "POST",
url: "",
dataType: "json",
success: function(msg) {
//process success
}
...
});
undefined 不是 msg,undefined 可能是来自 document.getElementById('test')
.