我想在點擊事件中使用ajax調用servlet。從這個servlet我打電話給谷歌驗證終點。我試着設置標題,我打電話servlet的,但我的沒能擺脫這種錯誤無法使用ajax調用servlet
了XMLHttpRequest無法加載 https://accounts.google.com/o/oauth2/auth?client_id=2536-a ...... NID%20profile%20email &狀態= F1BFD3804 &顯示=彈出。 請求的 資源上沒有「Access-Control-Allow-Origin」標題。原因'http://localhost:8080'因此不允許 訪問。
下面是代碼
$.ajax({
type: "GET",
url: "/url-for-servlet",
dataType: "jsonp",
contentType: 'application/json',
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR)
},
success: function (data) {
alert("yippy");
console.log(data);
}
});
上的servlet我加入到反應
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.addHeader("Access-Control-Max-Age", "3600");
response.addHeader("Access-Control-Allow-Headers", "x-requested-with");
任何想法,我在這裏失蹤?謝謝您的幫助。
這些標題需要由目標網址(因此,accounts.google.com)設置。無法做到應該已經暗示你不允許用目標服務來做這些事情。尋找一個不同的解決方案,通常基於他們自己的API文檔。然而,你的問題很奇怪,因爲錯誤不是迄今爲止發佈的代碼造成的。也許你過分簡化/省略了太多? – BalusC