Сообщение jQuery ajax возвращается с кодом ошибки 501 - PullRequest
0 голосов
/ 23 ноября 2010

Мы используем jQuery (1.2.3) ajax post и периодически получаем сообщение об ошибке 12031/501.

В чем может быть причина этой ошибки?

Пример кода


jQuery.post('${pageContext.request.contextPath}/sample/someAction.do', jQuery("#form_name").serialize(), function(status){
      //Some other code for checking the status......
}

Форма имеет два текстовых поля (одно отключено, другое включено) и флажок.И кнопка отправки.

И есть одна функция обработки ошибок ajax, которая предназначена для обработки сообщений об ошибках типа 12031/501.В некоторых случаях отображается окно с предупреждением о том, что в сообщении ajax произошла ошибка.


$("#form_name").ajaxError(function(event, xhr, settings, exception) {
 var errorMessage = "Error in ajax post -";
 errorMessage += "\n\t url: " + settings.url;
 errorMessage += "\n\t exception: " + exception + ((exception) ? " - " + exception.description : "");
 errorMessage += "\n\t readyState: " + xhr.readyState;
 errorMessage += "\n\t status: " + xhr.status;
 errorMessage += "\n\t statusText: " + xhr.statusText;
 errorMessage += "\n\t responseText: " + xhr.responseText;
 errorMessage += "\n\t";
 alert('Error occured in ajax post..........'+errorMessage);
 }); 

Это окно предупреждения отображается только в том случае, если в сообщении ajax имеется ошибка и код ошибки 12031 (соединение с сервером было сброшено.) или 501 / 12152.

Теперь есть еще один код ошибки, который мы можем видеть, это 12152 (сервер возвратил недопустимый или нераспознанный ответ.).

Это jQuery (1.2) проблема или что-то еще в среде или это IE7?

Если мы повторно отправим запрос, то он будет работать нормально.На данный момент мы говорим пользователю повторно отправить запрос, чтобы сохранить данные.

Теперь это нереальное решение.И эта проблема возникает спорадически.

Любое понимание этих кодов ошибок будет очень полезно.

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 ноября 2010

Ajax делает запрос к серверу, сервер возвращает 501. Поэтому посмотрите, почему сервер возвращает 501.

И вы должны убедиться, что созданный XMLHttpRequest был правильным - правильный URL, аргументы и т. Д., Очевидно.

1 голос
/ 24 июня 2018

Ошибка 501 вызвана тем, что используемый вами сервер (предположительно что-то вроде simpleHTTPServer) не поддерживает запросы POST.

Чтобы устранить эту ошибку, вам нужно использовать сервер, поддерживающий запросы POST, такие как apache

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...