[英]ajax datatype json jquery success
$.ajax({
url: '../ajax/deletestudent.php',
type: 'POST',
dataType: "json",
data: formData,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: function(data) {
console.log(data);
alert(data);
window.location.reload(true);
},
error: function(data) {
alert(data); // Optional
window.location = '../pages/studentdata.php';
}
});
$deletedstudent = "Deleted";
echo json_encode(array(
'message' => $deletedstudent
));
我上面有这个ajax和php文件的回声。 从ajax我有一个alert
和console.log
两者都使用数据作为参数。 我的问题是为什么在console.log中输出的是Object {message: "Deleted."}
但是在警告中输出的却是[object Object]
。 但是它们都使用相同的参数。 我希望他们两个都将返回Deleted.
。 为什么会发生这种情况,任何想法都值得赞赏
当您将某些内容记录到控制台时,控制台会提供比警报更多的详细输出。 看来您实际上想要执行alert(data.message)
。
基本答案: console.log
是智能的,但alert
不是智能的。
更详细的答案
console.log
使用对象的属性和其他有用信息(例如,调用console.log
行)(取决于所使用的浏览器)记录该对象。
另一方面, alert
接受传入的任何内容并在其上运行toString()
举个例子:
var myObj = {
foo: 'bar',
xxx: 'yyy'
};
console.log
它应该为您提供该对象的所有属性,如下图所示:
alert
将为您提供一个对象的toString
,它是字符串[object Object]
。
注意: 您toString
任何对象都将成为[object Object]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.