繁体   English   中英

ajax数据类型json jQuery成功

[英]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我有一个alertconsole.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它应该为您提供该对象的所有属性,如下图所示:

myObj的console.log

alert将为您提供一个对象的toString ,它是字符串[object Object]

注意: toString任何对象都将成为[object Object]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM