来自JS参考文件的同一站点的ajax?

时间:2014-02-22 00:47:50

标签: ajax dojo cross-domain

我在我的网站上运行了一个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响应)......它周围存在

2 个答案:

答案 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。