我试图设置自动JSLint测试,它将从目标网站抓取js文件,然后使用Selenium对测试站点运行它,该站点将使用JSLint测试Js文件的网址。从另一个本地主机站点引用一个本地主机站点中的Js脚本
我遇到了一些问题,试图用两个不同的localhost网站在本地进行测试。
$(function() {
$.ajax({
url: "http://code.jquery.com/jquery-latest.min.js",
//url: "http://localhost:62338/Scripts/test.js", // url to other local site
dataType: "text"
}).done(function (data) {
var myResult = JSLINT(data);
..
});
});
如果我使用指向jquery url的url运行上面的代码,它工作正常,JSLint分析这个文件。但是,如果我试图将它指向我的另一个本地主机站点中的js文件,它就会崩溃。如果我在Chrome浏览器中查看Network Inspector,则表示对该脚本的调用已取消。
任何想法,为什么我无法以这种方式访问本地托管的js文件?
顺便说一下,我使用的是MVC4 Web项目。
编辑:我有一个Cors或指向我的IP没有运气,但Dominic的答案,最终使我这个question,在那里我可以在关闭Chrome的安全性。我根本不喜欢这个选项,但它只是在我完成所有TeamCity设置之前在本地进行测试,并且只要Chrome重新启动,变更就会被撤消。
EDIT2:本question第二届答案也为我工作,加入:
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
..to目标站点的web.config我能够得到这个无需禁用工作Chrome上的安全。由于目标网站只是一个虚拟网站,正在本地使用,这对我来说效果更好。
谢谢弗里茨将调查预先提交钩的事情听起来不错 – DevDave