2013-03-27 5 views
5

У меня есть следующий АЯКС пост:Аякса сообщение об ошибке: NETWORK_ERR: XMLHttpRequest Exception 101

$.ajax({ 
    type: "POST", 
    url: "http://192.168.7.9/api", 
    dataType: 'json', 
    data: { username: "john.doe", password: "123456", method: "search_samples" }, 
    success: function (data) { 
     // Never get here 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
     // Always here: if async true, errorThrown has no message 
     // otherwise I se the NETWORK_ERR message 
    } 
}); 

Он возвращается с этой ошибкой: NETWORK_ERR: XMLHttpRequest Исключение 101.

Я прочитал кучу SO сообщения об этой ошибке, большинство из них предполагают, что я устанавливаю async в true. Это приведет к удалению сообщения об ошибке, но оно все еще является ошибкой, и я никогда не получаю достоверных данных. Кажется, это просто удалит сообщение об ошибке, которое не помогает.

В скрипаче, на той же машине dev это прекрасно работает - это проблема с хромом? Проблема происхождения? Что-то не так с моим синтаксисом?

+0

Является ли это запросом на перекрестный домен (т. Е. Ваше основное приложение не работает на 'http: // 192.168.7.9')? – Steve

+0

@Steve Эти машины находятся в одной и той же подсети, но машина 192.168.7.9 вообще не находится в домене ... – Nicros

ответ

1

ОК, похоже, что у вас проблемы с same origin policy. Как вы это делаете, вы не можете получить доступ к данным AJAX с другого сервера, чем тот, на котором размещается ваше приложение.

Для этого вам необходимо будет либо переместить функциональность http://192.168.7.9/api на ваш сервер, либо использовать JSONP для передачи данных. Here - пример того, как это сделать.

+0

До сих пор не повезло - я пытаюсь использовать jsonp, как описано, но теперь я получаю следующую ошибку : 'jQuery19108882399478461593_1364424507799 не назывался'. Я думаю, что я где-то читал, что сервер сам должен поддерживать jsonp? Может, это и происходит? – Nicros

Смежные вопросы