jQuery ajax调用php脚本返回"[object object]"


jQuery ajax call to php script returning "[object Object]"

我有一个jQuery ajax调用与以下代码:

var dataString = 'title=' + title;
alert ('datastring: ' + dataString); // This reports the correct value
$.ajax({
type: 'POST',
url: 'script.php',
data: dataString,
cache: false,
success: function(newTableID) {
    alert ('newTableID: ' + newTableID);
    // Do some stuff with the ID
},
error: function(response) {
    alert('failed: ' + response); 
            // The above displays "failed: [object Object]"
}
});

不管我在php脚本中有什么,我仍然得到相同的结果:ajax调用的错误部分的警报显示一个消息框,显示"failed: [object object]"。我甚至在php脚本中尝试了一个简单的回显-我认为php脚本根本没有从这个ajax调用中运行。

脚本的url是正确的- js文件和script.php文件在同一个文件夹中。

有谁能告诉我这里可能遗漏了什么吗?

谢谢。

如果您收到一个失败,这是因为您的script.php不可用。你可以尝试使用console.log(response)而不是alert(),你应该看到什么是你的变量与Firefox或Chrome调试工具

error回调正在传递一个对象,但alert()只能显示字符串。除了一些神奇的情况,在JS中将对象转换为字符串会给你'[object object]'。

尝试使用console.log而不是alert,这将在浏览器的调试控制台(通常使用F12调用)中显示对象的结构

在控制台中(或者如果您安装了Firebug)还会有一个显示网络请求和响应的面板,这可能会让您了解为什么会出现错误。

你必须用:代替=

var dataString = 'title:' + title;