Я пытаюсь запустить основной вызов Ajax с использованием JQuery на клиенте и node.js на сервере. клиент загружается с того же сервера, что и для обработки запроса Ajax один - пока я получаю на стороне клиента, эту ошибку:такая же политика происхождения с локальным сервером
«XMLHttpRequest не может загрузить .... Нет«Access-Control-Allow-Origin 'заголовок присутствует в запрошенном ресурсе. Следовательно, для источника ...... не разрешен доступ ".
Я думаю, что такая же политика происхождения, конечно же, не нарушена здесь? возможно, местный хозяин рассматривается по-разному?
сервер:
httpListen.createServer(function (req, res) {
....
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('_testcb(\'{"message": "Hello world!"}\')');
}
клиент:
$.ajax({
url: "http://127.0.0.1:1337/",
data : {formType:"ajaxTest", key1:"val1", key2:"vall2"},
formType:"ajaxTest",
jsonpCallback: "_testcb",
cache: false,
timeout: 5000,
success: function(data) {
$("#textBox").text("replied");
},
error: function(jqXHR, textStatus, errorThrown) {
alert('error ' + textStatus + " " + errorThrown);
}
});
это написано после руководящих принципов 1-го ответа здесь: how to use jQuery ajax calls with node.js, но я все еще получаю указанную ошибку.
редактировать: нашел проблему: используя локальный вместо 127.0.0.1, работает отлично ...
Спасибо за ваш ответ, страница была загружена из того же порта в качестве целевого АЯКСА (1337) –
но хороший момент на разнице между локальным и 127.0.0.1 - на самом деле это был ключ к решению проблемы, см мой отредактированный вопрос. –