xhrPost :从 http 视图到 https url
使用 Dojo,是否可以使用 xhrPost 从 HTTP 视图到 HTTPS url 进行 Ajax 调用? url 必须是 HTTPS(如 Struts 中定义)。
如果我只是将“MyCommand”设置为 xhrGet 的“url”参数,则会收到 302 错误代码。
如果我使用 javascript 将“MyCommand”转换为类似“https://......” ./servlet/MyCommand”我在 Firebug 中看到以下错误:“未捕获的异常:调用方法 XMLHttpRequest.open 的权限被拒绝”。
我无法使用这两种方法,我找到的唯一解决方案是删除 struts 配置文件中的“https”子句,当然这不是正确的解决方案:)
感谢您的帮助。
最好的问候,
尼尔斯
using Dojo, is it possible to make an Ajax call using xhrPost from an HTTP view to a HTTPS url ?
The url must be HTTPS (as defined in Struts).
If I simply set "MyCommand" as the 'url' parameter of the xhrGet, I get a 302 error code.
If I transform "MyCommand" using javascript to something like "https://......./servlet/MyCommand" I see the following error in Firebug : "uncaught exception: Permission denied to call method XMLHttpRequest.open".
I'm stuck using both approaches, the only solution I found is to remove the "https" clause in the struts configuration file, and of course this is not a correct solution :)
Thanks for any help.
Best regards,
Nils
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从 http 到 https 的连接涉及目标的不同端口。这违反了浏览器应对运行的 javascript 代码强制执行的同源策略。
它应该与 iframe 一起使用。dojo.io.iframe
为您封装了此行为
http://docs.dojocampus.org/dojo/io/iframe
如果您的服务器响应重定向到非 ssl(正确地同源)页面,您应该能够读取响应(因为 iframe 现在位于同源)。
connection to https from http involves a different port of the target. This violates the same-origin policy which should be enforced by the browser to the running javascript code.
It should work with an iframe..
dojo.io.iframe encapsulates this behaviour for you
http://docs.dojocampus.org/dojo/io/iframe
If your server responds with a redirect to a non-ssl (correctly to same-origin) page you should be able to read the response (because the iframe is now in the same-origin).