使用 jsonp 的跨域请求:从 https 到 http
Cross domain request using jsonp: from https to http
我有以下问题:我需要将一些数据从我网站上的页面(https://test.com)发送到另一个页面(例如 http://anotherdomain.com)。用户只需将数据输入文本框并单击按钮即可。此页面上的脚本将处理单击事件并将 GET 请求(使用 jQuery ajax 方法)发送到 http://anotherdomain.com。
var enteredValue = $('#MytextBox').val();
function jsonpCallbackFunc(data)
{
}
$.ajax({
url: 'http://anotherdomain.com/qwerty/ajaxpage.php',
data: { valuefield: enteredValue },
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'jsonpCallbackFunc',
success: function (json) {
// some code
}
})
我在使用 FireFox 时收到下一个错误 - "阻止加载混合活动内容 http://anotherdomain.com/qwerty/ajaxpage.php..."。IE9和Chrome的情况也是如此。
问题:我们如何解决这个问题?我们可以只允许一个站点使用这个脚本,或者我们可以使用另一段代码(不是jQuery+jsonp)吗?
提前感谢您的帮助。
附言从"http"站点,此代码按预期工作。
更新:我们使用另一个"https"网址 (https://anotherdomain.com/qwerty/ajaxpage.php) 解决了这个问题。我们以前尝试过使用它,但它的证书不受信任。现在它工作正常。感谢您的帮助和建议。
这是由于 CORS 而发生的。当您向其他域发出请求时,可能会根据 ajax 调用的条件进行预检请求。您正在使用jQuery,因此自定义标头将在您的请求中设置。所以使用
访问控制请求标头
访问控制允许源
访问控制-允许-方法
请参考cors及其实现。
这也应该在服务器中允许,尝试在处理请求的位置添加它
<?php header('Access-Control-Allow-Origin: *'); ?>
希望这可能会有所帮助
相关文章:
- web配置http到https重定向异常
- HTML:从http到https发布表单
- 维护https和http之间的私钥
- 组合Bookmarklets以在HTTP和HTTPS之间创建切换
- 调用 http url 有效,但 Https 不起作用
- 当服务器从 http 更改为 https 时,有哪些可能的方法可以解决问题
- HTTP 或 HTTPS 根据当前连接
- 如何在 http:// 页面中加载登录 https:// 页面
- 在不使用任何http、https或ftp的情况下验证URL
- Javascript HTTPS帧访问父HTTP帧
- indexOf(“http”)在http和https上匹配
- Javascript:检测Internet Explorer是否发送了https页面上的混合http消息
- Firefox扩展不适用于http://https://以外的URL
- 从HTTP到HTTPS的跨域请求立即中止
- 网站从http迁移到https
- 谷歌图书预览没有在安全的https上显示图书图像链接,但在http上工作.在Google Chrome和Touch浏览器
- 在HTTP和HTTPS之间跨协议时使用Amplify进行本地存储
- 验证url没有https:// http://意味着也可以接受,如果url是WWW接受(http和WWW)
- Iframe JS https->http父窗口权限
- 正则表达式与或不https / http或www