简单的Ajax Jquery获取方法未完成

时间:2013-07-31 20:38:48

标签: javascript jquery ajax

这是我第一次使用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手册。提前谢谢!

5 个答案:

答案 0 :(得分:1)

尝试将绝对网址设置为runner.php,以便将/js/runner.php/runner.php放在其中的任何目录中。

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

答案 1 :(得分:1)

尝试遵循这种模式:

$.get("runner.php", function() {
  alert("success");
})
.done(function() { alert("second success"); })
.fail(function() { alert("error"); })
.always(function() { alert("finished"); });

答案 2 :(得分:1)

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

AJAX request using jQuery does not work

我通过设置本地Web服务器来修复它,并且相同的代码工作得很漂亮:)

答案 3 :(得分: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()函数。

答案 4 :(得分:0)

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