子域的Ajax請求處理CORS尋找其他的問題和答案,我覺得他們真的不蓋後,想我想要做的,因此爲什麼我問了一個新問題。用於機架式
所以,我建立了一個子域匹配機架中間件,我將主持我的API在它自己的子域名的想法(api.localhost:3000)。
這大部分工作不過,如果我嘗試發送一個Ajax請求的Web瀏覽器將引發噓聲像配合有關CORS。
那麼,如何在CORS記住我在機架安裝該附加子域爲我的子域名匹配中間件軸承。
子域的Ajax請求處理CORS尋找其他的問題和答案,我覺得他們真的不蓋後,想我想要做的,因此爲什麼我問了一個新問題。用於機架式
所以,我建立了一個子域匹配機架中間件,我將主持我的API在它自己的子域名的想法(api.localhost:3000)。
這大部分工作不過,如果我嘗試發送一個Ajax請求的Web瀏覽器將引發噓聲像配合有關CORS。
那麼,如何在CORS記住我在機架安裝該附加子域爲我的子域名匹配中間件軸承。
如果可以防止使用CORS或JSONP我建議你做的。最好的解決方案是定義一個子目錄來處理你的API/restful請求。我有類似的情況,當你強迫自己進入CORS又名標題總是設置訪問控制允許來源*然後你設置自己的限制。
避免這些限制在可能的情況。只是我的經驗。祝你好運!
我會做這樣的事情:
http://www.domain.com/rest/api/items/1
在哪裏休息是你的Web服務進行處理。如果您不需要它們,請遠離子域名。
如果您必須絕對使用CORS,並且您知道請求由您處理,並且只有您,那麼您可以使用jsonp逃脫。
JSONP
JSONP基本包裝在使用回調函數JavaScript對象你的要求。使用這種方法可以處理的數據量有限制,但這是一種在不設置CORS的情況下讓跨域請求運行的快捷方式。
這裏是一個JSONP請求的例子:
$.ajax({
type: "GET",
url: "http://www.domain.com/rest/WEB055S?callback=?",
data: args,
contentType: "application/json; charset=utf-8",
dataType: "jsonp"}).
done(function(data){
alert(data.ERROR);
})...
有趣,是一個辦法做到這一點沒有jQuery的? – Thermatix
我知道有一些PHP可用於跨域的API,但CORS仍需設置。 jsonp是我所知道的唯一客戶端黑客攻擊,但如果您只需要服務器端跨域功能,那麼瀏覽器無需知道它是跨域的,因此使生活變得更加簡單。你應該可以設置'.htaccess'或'http.conf',並且允許所有的交叉指令,並且很好。 – yardpenalty
我只是不想看到你僅限於服務器端編程笑lol – yardpenalty