0

这是我第一次使用 Ajax。这是我要运行的脚本:

$(document).ready(function() {  
    alert("on document ready");
    $(document).click(function(e){
        alert("inside click handler");
        $.get("runner.php", function(data) {
           alert("get method has completed");
        });
    }); 
});

警报:“文档准备就绪”和“内部单击处理程序”都正确显示,但我无法在 $.get 方法中显示警报。此外,runner.php 文件与 JavaScript 文件位于同一目录中。我最终想从 runner.php 文件中获取信息,但我什至无法完成这个 $.get 方法。

我确定我在这里遗漏了一些简单的东西,但这个例子几乎直接取自 jQuery 手册。

4

5 回答 5

1

尝试将绝对 url 放置到runner.php, so/js/runner.php/runner.php它所在的任何目录。

此外,如果您安装了 firebug,您可以使用它来查看问题所在。如果它告诉您,404 Not Found那么您将需要放置我刚才提到的绝对网址。

于 2013-07-31T20:42:14.613 回答
1

尝试遵循以下模式:

$.get("runner.php", function() {
  alert("success");
})
.done(function() { alert("second success"); })
.fail(function() { alert("error"); })
.always(function() { alert("finished"); });
于 2013-07-31T20:42:24.473 回答
1

这些文件在哪里?它们是在 Web 服务器上还是在您的本地计算机上?我之前遇到过同样的问题,原因是我试图访问位于本地计算机上的文件,所以我总是会收到错误

使用 jQuery 的 AJAX 请求不起作用

我通过设置本地 Web 服务器来修复它,并且相同的代码运行良好:)

于 2013-07-31T20:43:31.790 回答
1

如果您使用的是 jquery 1.8 或更高版本,那么您需要使用该fail()函数来报告您对 PHP 的调用的错误,如下所示:

.get("runner.php", function() {
    alert("success");
})
.fail(function() { 
    alert("An error happened, check PHP script for problems."); 
})

注意:jQuery 1.8 弃用了error回调并将其替换为.fail()函数。

于 2013-07-31T20:45:36.723 回答
0

回调中没有发生任何事情的最可能原因是 404 或 500 错误。与其他一些答案一样,请确保在您的$.get请求中添加一个失败侦听器,您console.log(data);可以确定服务器端出了什么问题。

于 2013-07-31T20:49:42.713 回答