jquery - 使用 https 而不是 http 时 JSONP 请求失败

标签 jquery api google-app-engine jsonp

我有一个 API 客户端,它使用 JQuery 发出 JSONP 请求。一切正常 当此 API 客户端不使用 SSL 但在使用 SSL 时失败。

例如,我有一个 URL http://apiclient.com,我正在从该域发出以下 JSONP 请求:

$.ajax({
    url: url,
    dataType: "jsonp",
    contentType: "application/json; charset=utf-8",
    success: function(data)
    {
        $.each(data.services, function(index, service) {
            processService(service);
        });
    }
});

我看到向 url 中指定的 API 主机发出了适当的请求,并且 success 中的回调函数被正确调用,并传递了正确格式的数据。

但是,当我将上述 API 客户端的 URL 更改为 https://apiclient.com 时, 在 API 主机上没有观察到请求。我在日志的两边都没有看到错误。

注意:唯一的区别是 API 客户端的 httphttps

使用 https 域时是否需要以不同方式处理 JSONP 请求?

谢谢。

编辑: 此问题仅在 Chrome 中出现。它适用于 Firefox 和 Safari。 然而,我在 FireFox 上收到了一条快速警告,询问我即将从 加密站点。我允许了,再也没有看到警告。

最佳答案

找到解决方案。问题是 JQuery 和其他资源是从非安全站点导入的。解决方案是从 https 引用。

关于jquery - 使用 https 而不是 http 时 JSONP 请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14133484/

相关文章:

jquery - 带有 :not selector working when placed inside as jquery selector, 的 CSS 不是纯 CSS

api - Twitter API 身份验证与授权

python - 如何使用 webapp2 在 Python 中对多语言对象建模

python - MapReduce 批量更新数据存储

Jquery 无法检测 IE 11

javascript - 使用 Json 填充剑道网格时出错

java - 构造函数与 setter 注入(inject)

python - 如何获取appengine中db.Model中属性的数据类型?

javascript - jquery 幻灯片菜单 - 更好的方法?

javascript - 使用 JS SDK 创建新的 Soundcloud 播放列表 ( set ) 返回 422