AJAX $ GET错误,没有错误消息

时间:2014-02-13 21:08:48

标签: jquery ajax get

当涉及到AJAX时,我不是最有见识的,所以我很难调试我认为非常简单的AJAX请求。请求通过GET将数据发送到URL,并且应该返回1或0.而不返回任何内容,并且错误消息为空。对我来说令人困惑的部分是我可以复制和粘贴URL以及url编码变量(就像我使用GET方法提交表单时那样)并且远程服务器将返回1或0细

Firebug没有显示任何错误也被抛出。我可以从中看到的是请求已经完成,正确的参数和相关值被传递,并且html完全空白。

编辑:这不是特定于浏览器的。在Firefox,IE和Chrome中测试。

代码:

var userData = {
      firstname: $('#firstname').val(),
      lastname: $('#lastname').val(),
      addr1: $('#addr1').val(),
      ct: $('#ct').val(),
      stateprovince: $('#stateprovince').val(),
      zipcode: $('#zipcode').val(),
      primary_phone: $('#primary_phone').val(),
      gradyear: $('#gradyear').val(),
      school_id: $('#school_id').val(),
      source_id: $('#source_id').val()
}

$.ajax({
    type: "GET",
    url: "http://blahblahblah.com/blah",
    data: userData,
    success: function() {
        alert("it worked!");
    },
    error: function(xhr,err){
        alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
        alert("responseText: "+xhr.responseText);
    }
});

错误提醒返回:

readyState: 0
status: 0

repsonseText:

任何帮助将不胜感激!如果要求任何其他信息,我会尽快回复!

1 个答案:

答案 0 :(得分:1)

问题在于我试图在跨域(在我的服务器域之外)AJAX调用上接收文本作为响应。显然,浏览器出于安全原因禁用跨域javascript调用,并且只接受“jsonp”和“script”格式的响应。

在我发现问题后,我搜索了如何解决这个问题的答案。 This回答给了我正在寻找的解决方案,并允许我通过一些调整来获得所需的结果以适合我的情况。

感谢您帮助我深究这一点!