jQuery ajax调用php脚本返回“[object Object]”

时间:2013-01-15 23:39:16

标签: php ajax 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调用的错误部分中的警报显示一个消息框,显示"失败:[object Object] &#34 ;.我甚至在php脚本中尝试了一个简单的回声 - 我不认为php脚本在这个ajax调用中运行。

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

任何人都可以了解我在这里可能缺少的东西吗?

感谢。

3 个答案:

答案 0 :(得分:1)

如果您收到失败,那是因为您的script.php不可用。 您可以尝试使用console.log(response)代替alert(),并且应该使用Firefox或Chrome调试工具查看变量中的内容。

答案 1 :(得分:0)

error回调正在传递一个对象,但alert()只能显示字符串。除了一些神奇的案例,在JS中将一个对象变成一个字符串会给你' [对象]'。

尝试使用console.log代替alert,它会在浏览器的调试控制台中显示对象的结构(通常用F12召唤)

同样在控制台中(或者如果你安装Firebug)将是一个显示网络请求和响应的面板,它可以让你知道出现错误的原因。

答案 2 :(得分:0)

您必须放置:而不是=

var dataString = 'title:' + title;