[英]ajax call to php script not working
我正在尝试使用 AJAX 调用 PHP 脚本。 我在我的 deleteitem.php 脚本中放置了一个简单的 echo 警报来检查它是否被调用,但无论我做什么,它都不会被调用。 PHP 脚本与调用它的 js 脚本位于同一文件夹中
有人能告诉我为什么会这样吗? 可能的原因是什么?
$.ajax({
url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID,
type: "POST",
dataType: "html",
success: function(data)
{
//do something here
}
});
你怎么知道它是否在调用它? 将javascript
警报语句添加到您的callback
。 例如
alert(data);
如果一切正常,它将显示您从PHP
script
回显的内容。
PHP 脚本的输出会放在data
(假设请求成功)。
它不会做任何事情,直到你用一些可以做某事的代码替换注释//do something here
。
尝试类似..传递如下数据
$.ajax({
url: "deleteitem.php",
type: "POST",
data: {
'task': 'deleteArtwork',
'id': artworkObjectID
},
success: function (msg) {
}
});
我要做的第一件事是检查成功回调的结果。
$.ajax({
url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID,
type: "POST",
dataType: "html",
success: function(data)
{
alert(data); // Alert the results
}
});
大多数时候(无论如何我自己)当我注意到 ajax 没有更新内容时,通常是我的脚本调用的 PHP 错误。 此方法将提醒 PHP 在该页面上引发的任何错误:)
另外,请尝试检查您的浏览器控制台,看看您的 javascript 是否有任何错误。
正如 Amitd 所说,你不应该结合GET和POST请求。 代码应如下所示:
$.ajax({
url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID,
type: "GET",
dataType: "html",
success: function(data)
{
alert(data); // alert on success
}
});
如果您仍然没有收到任何响应,则可能是服务器错误,因此您应该在 .php 脚本中,在脚本开始处放置这样的行:
error_log("script was called, processing request...");
error_log("passed artworkObjectId is: " . $_GET["artworkObjectID"]);
如果有任何消息,您可以检查您的 .log 文件(如果它在 apache 服务器上运行,则可以在 apache 日志文件/文件夹中找到它)。
要检查服务器代码是否被调用,您可以在 Firebug 中检查传递的参数和 AJAX 响应。 我想这会很方便。
首先,您没有输出存储在(您的案例) data
的返回数据此外,您正在解析一些 GET 变量,尽管您的 AJAX 请求是 POST。 如果您通过 AJAX 使用变量,我建议使用 GET:
$.get('deleteitem.php?task=deleteArtwork&id='+artworkObjectID, function (data) {
//On success, perhaps print the returned data:
alert(data);
})
url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID
应该
url: 'deleteitem.php?task=deleteArtwork&id='.artworkObjectID,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.