使用Dojo,是否可以使用xhrPost从HTTP视图到HTTPS网址进行Ajax调用? url必须是HTTPS(在Struts中定义)。
如果我只是将“MyCommand”设置为xhrGet的“url”参数,我会收到302错误代码。
如果我使用javascript将“MyCommand”转换为类似“https://......./servlet/MyCommand”的内容,我在Firebug中看到以下错误:“未捕获的异常:拒绝调用方法XMLHttpRequest.open的权限”。
我坚持使用这两种方法,我找到的唯一解决方案是删除struts配置文件中的“https”子句,当然这不是一个正确的解决方案:)
感谢您的帮助。
致以最诚挚的问候,
尼尔斯
答案 0 :(得分:1)
从http到https的连接涉及目标的不同端口。这违反了同源策略,浏览器应该对正在运行的javascript代码执行该策略。
它应该与iframe一起使用..
dojo.io.iframe会为您封装此行为 http://docs.dojocampus.org/dojo/io/iframe
如果您的服务器响应重定向到非ssl(正确到同源)页面,您应该能够读取响应(因为iframe现在属于同一个来源)。