【问题标题】:AJAX $GET errors out with no error messageAJAX $GET 错误输出,没有错误消息
【发布时间】:2014-02-13 21:08:48
【问题描述】:

在 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:

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

【问题讨论】:

  • 尝试打印err-- alert(err),你会看到信息。
  • 它只是打印“错误”。
  • 见我上面的链接。你有我遇到的问题的所有症状。状态代码为零。 'error' 表示错误消息。
  • @Reasoned 你能与提琴手(例如)ajax 请求和你的手动请求(意味着粘贴 url)进行比较吗?

标签: jquery ajax get


【解决方案1】:

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

在我发现问题后,我搜索了如何解决这个问题的答案。 This 的回答为我提供了我正在寻找的解决方案,并让我只需稍作调整以适应我的情况即可获得所需的结果。

感谢您帮助我查明真相!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多