0

我有一个带有以下代码的 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]”。我什至在 php 脚本中尝试了一个简单的 echo - 我认为 php 脚本根本没有从这个 ajax 调用中运行。

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

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

谢谢。

4

3 回答 3

1

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

于 2013-01-15T23:45:51.430 回答
0

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

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

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

于 2013-01-15T23:50:50.930 回答
0

你必须放置 : 而不是 =

var dataString = 'title:' + title;
于 2019-04-08T15:27:37.860 回答