我在我的网站上运行了一个JS文件,它运行正常。
现在我想将另一个网站的完整网址放回我的网站。
<script src="http://www-js.mydomains.com/some/path/file.js"></script>
现在它仍然是我的服务器上的xml请求的跨域?
所以在file.js中我有类似
的东西dojo.xhrGet({url: '/some/path/file.xml', sync: true, handleAs: 'xml', error: function(result,args){alert(result.responseText+'-'+args.responseText)}, load: function(result){ ....
这只是在其他网站上死亡(未定义的极好的dojo响应)......它周围存在
答案 0 :(得分:2)
我认为你应该使用“script”dojo / request / script 而不是xhr。
require(["dojo/request/script", "dojo/dom", "dojo/dom-construct", "dojo/json", "dojo/on", "dojo/domReady!"],
function(script, dom, domConst, JSON, on){
on(dom.byId("startButton"), "click", function(){
domConst.place("<p>Requesting...</p>", "output");
script.get("helloworld.jsonp.js", {
jsonp: "callback"
}).then(function(data){
domConst.place("<p>response data: <code>" + JSON.stringify(data) + "</code></p>", "output");
});
});
});
http://dojotoolkit.org/reference-guide/1.9/dojo/request/script.html
答案 1 :(得分:0)
现在它仍然是我的服务器上的xml请求的跨域?
是。原点基于托管脚本的HTML文档的URI,而不是脚本来自的URI。
您应该发送CORS specification中定义的HTTP标头,以允许其他网站使用您的脚本(或他们自己的脚本)来访问您服务器上的内容。
此外,JS访问的URI也与文档相关,而不是脚本,因此您需要使用绝对或方案相对URI而不是您当前使用的服务器根相对URI。