$.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.。为什么会发生这种事任何想法都会受到赞赏
发布于 2015-02-27 02:42:10
的基本答案是: console.log很聪明,但alert并不聪明。
更详细的答案
console.log用它的属性和(取决于您正在使用的浏览器)记录对象的其他有用信息(例如console.log是从哪一行调用的)。
另一方面,alert获取传入的任何内容,并在其上运行toString()。
举个例子:
var myObj = {
foo: 'bar',
xxx: 'yyy'
};在console.log中,它应该为对象提供它的所有属性,如下图所示:

alert将给出一个对象的toString,即字符串[object Object]。
备注: toString的任何对象都将成为[object Object]__。
https://stackoverflow.com/questions/28756561
复制相似问题