ajax 来自与 JS 引用文件相同的站点



我的网站上运行了一个JS文件,它工作正常。

现在我想把另一个带有脚本完整 url 的网站放回我的网站。

<script src="http://www-js.mydomains.com/some/path/file.js"></script>

现在它真的仍然跨域到我的服务器上的 XML 请求吗?

所以在文件中.js我有类似的东西

dojo.xhrGet({url: '/some/path/file.xml', sync: true, handleAs: 'xml', error: function(result,args){alert(result.responseText+'-'+args.responseText)}, load: function(result){ ....

这只会在其他站点上死亡(未定义的大道场响应)...周围有没有

我认为你应该使用"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

现在它真的仍然跨域到我的服务器上的 XML 请求吗?

是的。源基于托管脚本的 HTML 文档的 URI,而不是脚本的来源 URI。

您应该发送 CORS 规范中定义的 HTTP 标头,以允许其他站点使用您的脚本(或其自己的脚本)访问服务器上的内容。

此外,JS 访问的 URI 也相对于文档而不是脚本,因此您需要使用绝对或方案相对 URI,而不是当前使用的服务器根相对 URI。

相关内容

  • 没有找到相关文章

最新更新