$ .post不起作用(任何地方)! 为什么?

我对$ .post的调用并不适用于我的代码。 我没有将请求发送到其他域,实际上,我正在做一些localhosted。 我的localhost别名由Mac OS X 10.8自动定义为ramon.local ,我从http://ramon.local/linkebuy_0.7/resourceX请求http://ramon.local/linkebuy_0.7/resourceY 。 Chrome控制台上没有错误。

服务器端没有收到请求,我可以通过直接从浏览器访问(键入URL)来检查它。

这不只是一个不起作用的电话,它们都不是。 他们都在几天前工作,我怀疑我不小心改变了我当地的设置。 会是什么呢?

这是我面临的一个例子:

 $.post( <>, {}, function(response) { console.log('THIS SHOULD BE PRINTED ON CONSOLE'); alert('THIS SHOULD BE POPPED UP'); } ); 

在运行上面的代码时,我没有收到警报,也没有控制台消息。 所以我尝试了以下内容:

 $.support.cors = true; $.ajax({ url: "http://ramon.local/linkebuy_0.7", dataType: "json", type: "GET", crossDomain: true, success: function (data) { console.log(data); }, error: function (xhr, status, error) { alert(error + " - " + status); } }); 

我刚来了$.support.cors = true;crossDomain: true以检查它是否是跨域问题。 所以我被警告No Transport - error与以前一样。

我该怎么做才能解决这个问题?

提前致谢。

试试这个,看看你是否收到任何警报:

 // Assign handlers immediately after making the request, // and remember the jqxhr object for this request var jqxhr = $.post("your url", function() { alert("success"); }).success(function() { alert("second success"); }).error(function() { alert("error"); }).complete(function() { alert("complete"); }); // perform other work here ... // Set another completion function for the request above jqxhr.complete(function() { alert("second complete"); });​ 

好吧,我以一种非常奇怪的方式解决了这个问题。

我删除了JQuery文件并再次下载,替换旧文件。 发生了它。

所以,如果你是:

  • 制作非跨域的AJAX请求;
  • 使用JQuery(例如$.post$.get等);
  • No Transport AJAX错误

然后重新下载并替换你的JQuery源代码

否则,如果您正在进行跨域请求(不是这种情况),那么请查找JSONP并尝试设置$.support.cors = true; 在你的代码开头。

感谢大家的意见和答案。