这是我第一次使用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手册。提前谢谢!
答案 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);
确定服务器端出错的地方。