我正在尝试使用JQuery进行AJAX调用,实际上我有下一个代码:
$('#form-check').click(function(){
$.ajax({
url: "http://www.domain.com/user/checkurl/",
type: "GET",
data: $(location).attr('pathname').substring(17) + "/" + $('#urlTxt').val(),
error: function(){
$('#urlTxt').css('background','#ce2b06');
},
success: function(data){
$('#urlTxt').css('background','#83aa07');
$('#form-check').css('display','none');
$('#form-submit').css('display','block');
$('#result').append(data);
}
});
});
然而,当我查看Firebug时,我没有得到任何我能看到的响应,我只看到正在发送的消息和状态(200 - ok),但没有任何回复,而Ajax调用本身也是“success”子句,除了它不附加数据。我怎么检查这个?或者我错过了什么?
答案 0 :(得分:0)
如果您使用的是没有任何此类工具的任何其他浏览器,则您始终可以使用Fiddler来显示系统上的所有HTTP
流量。
答案 1 :(得分:0)
答案 2 :(得分:0)
这是一个跨域请求。浏览器默认阻止来自跨域网站的响应。您需要使用jsonp作为数据类型。只需谷歌相同,你可以看到如何使用jquery API完成它。堆栈溢出也存在问题。
在相同的原始策略下,server1.example.com提供的网页通常无法连接到server1.example.com以外的服务器或与之通信。 HTML元素是一个例外。利用元素的开放策略,一些页面使用它们来检索对来自其他来源的动态生成的JSON格式数据进行操作的Javascript代码。此使用模式称为JSONP。
我也不确定你将参数传递给服务器的方式..你的数据字段理想上应该像json对象一样
{
id:"123",
type:"student"
}
理想情况下,您还希望提及您希望收到的响应类型,以便jquery可以正确处理它。
这可以通过设置dataType选项
来完成dataType:“json”//可以是html,xml等
答案 3 :(得分:-1)