我对$ .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(
<<CORRECT URL INSIDE THE DOMAIN>>,
{},
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
。
我该怎么做才能解决这个问题?
提前致谢。
答案 0 :(得分:1)
试试这个,看看你是否收到任何警报:
// 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");
});
答案 1 :(得分:1)
嗯,我以一种非常奇怪的方式解决了这个问题。
我删除了JQuery文件并再次下载,替换旧文件。发生了它。
所以,如果你是:
$.post
,$.get
等); No Transport
AJAX错误然后重新下载并替换您的JQuery源。
否则,如果您正在进行跨域请求(不是这种情况),那么请查找JSONP并尝试在代码开头设置$.support.cors = true;
。
感谢大家的评论和答案。