如何使用 jQuery 显式发出 AJAX HTTPS GET 请求?我正在尝试执行以下操作。
在 https 页面上,我有一行代码 $.get("/resource")
,但出现以下错误
XMLHttpRequest cannot load http://www.site.com/resource. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.site.com' is therefore not allowed access.
如果相关资源来自 https 页面,为什么 AJAX 调用尝试使用 HTTP 协议(protocol)访问页面?如果 $.get(url) 方法默认执行此操作,我如何使用 jQuery 执行显式 HTTPS GET 请求?另一个人也有类似的问题,地址为http://forum.jquery.com/topic/jquery-get-ajax-call-on-http-page-to-https-on-same-domain无法解决。
jQuery 版本是 1.7.2
最佳答案
我解决了这个问题。事实证明,由于 Django 站点的配置方式,我需要在 AJAX 请求中的资源中添加尾部斜杠。如果没有尾部斜杠,Django 将使用 HTTP 请求而不是 HTTPS 请求重定向到带有尾部斜杠的 URL。
简而言之,我将 $.get("/resource")
替换为 $.get("/resource/")
。
谢谢。我非常感谢您的所有帮助。
关于jquery - 如何使用 jQuery 发出 AJAX HTTPS GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056990/