【问题标题】:https causes immediate abort while http is finehttps 导致立即中止,而 http 很好
【发布时间】:2012-07-19 17:49:14
【问题描述】:

在我的代码中,我有类似的东西:

A = Backbone.Model.extend({
  // url : "http://localhost:3000/a"
  url : "https://localhost:3000/a"
});

var a = new A();
a.save();

当我使用 http url 时,一切都很好,花花公子; 但是,当我使用 https url 时,出现以下错误

{readyState : 0, responseText : "", status : 0, statusText : ""}

firebug “net” 选项卡显示 0 个请求

更奇怪的是,当我在其他两个模型上使用 fetch 时,都给出“中止”错误,但 firebug 显示请求已完成和失败,而不是上面的 0 个请求。

【问题讨论】:

    标签: javascript ajax backbone.js https


    【解决方案1】:

    您的站点是否通过 HTTPS 从 localhost 上的端口 3000 提供服务?

    如果没有,那么默认情况下这将不起作用。 CORS 防止在没有额外工作的情况下处理请求,除非协议(http 或 https)、域(它的所有部分)和端口匹配。

    【讨论】:

    • 啊,我以为我搞定了,但猜不出来;但我希望有比在网络选项卡中显示“0 个请求”和一个空的 ajax 错误对象更好的错误消息
    • 如果您不想支持 IE,如果您“拥有”服务器端,这很容易解决。但是,是的,有时您会收到一些疯狂的奇怪 DOM 错误消息,有时什么也没有。
    猜你喜欢
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 2022-10-19
    • 2015-10-09
    • 2016-06-18
    相关资源
    最近更新 更多