我有一个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;