我試圖設置自動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