2013-07-31 29 views
0

这是我第一次使用Ajax,所以请原谅我的天真。这里是我试图运行该脚本:简单的Ajax Jquery获取方法没有完成

$(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"); 
     }); 
    }); 
}); 

警报:“关于文档准备”和“里面点击处理”全部显示正常,但我不能得到$不用彷徨方法来显示内警报。另外,runner.php文件与javascript文件位于同一个目录中。我最终想从runner.php文件获取信息,但我甚至无法完成此$ .get方法。

我确定我在这里错过了一些简单的东西,但这个例子几乎是直接从Jquery手册中获得的。提前致谢!

+0

你打算做什么功能(数据)? – Trojan

+0

检查您的浏览器控制台。它是否请求URL?它返回什么? – orhanhenrik

+1

你在服务器上吗? – Jack

回答

1

试着将一个绝对URL来runner.php,所以/js/runner.php/runner.php哪个目录很。

此外,如果你已经安装了萤火虫,你可以用它来查看是什么问题。如果它告诉你404 Not Found那么你需要按照我刚刚提到的那样放置绝对网址。

1

尽量遵循这个模式:

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

在哪里这些文件?他们在Web服务器上还是在本地计算机上?我有同样的问题之前,究其原因是,我试图访问位于我的本地计算机上的文件,所以我总是得到一个错误

AJAX request using jQuery does not work

我通过设置本地Web服务器修好了和相同的代码或工作精美:)

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()函数替换它。

+0

我解决了这个问题,但失败功能对于将来的实现非常方便,谢谢! –

+0

太好了,很高兴你明白了。 –

0

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

相关问题