我要發送Ajax請求我的本地服務器,這裏是我的:Ajax請求不準 - POST請求
function getNewsFromDB() {
var httpUrl = "http://10.0.0.2:8080/Rosh/" + 'Get_News';
$.ajax({
type: 'POST',
url: httpUrl,
data: '{"MESSAGE_TYPE":"GET_NEWS","VERSION": "1","CITY":"ROSH_HAAIN"}',
dataType: 'json',
crossDomain: true,
success: function(data) {
window.alert("success");
},
error: function(xhr,textStatus,err) {
window.alert(JSON.stringify(xhr) + " ... " + textStatus + " ... " + err);
}
});
}
我也有這樣的服務器端代碼來處理請求:
res.setContentType("application/json");
try
{
res.addHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "*");
res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,Host,User-Agent,Accept,Accept-Language,Accept-Encoding,Accept-Charset,Keep-Alive,Connection,Referer,Origin");
res.setHeader("Access-Control-Max-Age", "8080");
res.setCharacterEncoding("utf-8");
res.getWriter().write(response);
}
catch (IOException e)
{
// TODO Auto-generated catch block
}
當我運行我的代碼,我看到在瀏覽器上一個對話框,指出: 「就緒狀態:0,響應文本:」」狀態:0,狀態文本:‘錯誤’;
我不知道是什麼這個對話意味着,請求尚未到達我的服務器。
我也看到了這個錯誤:
XMLHttpRequest cannot load http://10.0.0.2:8080/Rosh/Get_News . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:8000 ' is therefore not allowed access. The response had HTTP status code 404.
是否有人有任何想法是錯誤的,我的代碼?
響應沒有'Access-Control-Allow-Origin'標頭集。你的代碼似乎包含它,所以仔細檢查你做的是否正確。 –
服務器如何實施? –
你可以在回答中添加它嗎?我現在不知道如何以及在哪裏添加它... – foo