Я хочу отправить 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, statusText:« ошибка »;
Я не знаю, что этот диалог означает, что запрос не прибыл на мой сервер.
Кроме того, я видел эту ошибку:
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