2014-09-12 4 views
1

У меня есть строка json со мной {offer.offer.offerId.USSellerId: {$ gt: 50}}. Все, что я хотел сделать, это позвонить в службу POST REST с помощью этого json-запроса в качестве полезной нагрузки и получить возвращенный JSON.ajax post возвращает Object {readyState = 0, status = 0, statusText = "error"}

Я смог вызвать эту услугу, используя хром-клиент расширенного отдыха, и я возвращаю данные. Но моя проблема в том, когда я попытался вызвать эту услугу, используя ниже строки кода я получаю следующие ошибки

$.ajax({ 
     url:"http://10.242.172.12:8080/cqs/services/services/cqs/search", 
     Accept: "application/json", 
     type: "POST", 
     contentType: "application/json", 
     data: {"offer.offer.offerId.USSellerId": {"$gt": 50}}, 
     async:true, 
     crossDomain: true, 
     always: function(data, textStatus, errorThrown) { 
     console.log(data) 
     console.log(textStatus) 
     }, 
     success: function (data) { 
      console.log(data) 
      alert(data); 
     }, 
     error: function (data, status, err) { 
      console.log(data) 
      console.log(status) 
      console.log(err) 
     } 
    }); 

я вижу следующее в консоли:

Object {readyState = 0, состояние = 0, statusText = "error"} ошибка пустая строка.

Я ничего не мог понять из-за этой ошибки. Когда я сделал google эту ошибку, многие предложения говорят, что это может быть проблема с перекрестным браузером. У меня нет контроля над кодом на стороне сервера.

Как исправить ошибку кросс-браузера с клиентской стороны?

+0

Вы проверили HTTP-заголовок 'content-type'? Если вы действительно отправляете json-данные, вы должны указать правильный 'contentType' в настройках' ajax', потому что jQuery использует 'application/x-www-form-urlencoded' как тип контента по умолчанию, см. [Documentation] (http: // api.jquery.com/jquery.ajax/). –

+0

Hi IIya, я изменил свой пост jquery на ajax, но на этот раз я получаю странную ошибку, которая не имеет ничего полезного :( – user3773712

+0

Скорее всего, ваш запрос даже не отправляется сейчас. Две вещи - оберните ваши данные объект в 'JSON.stringify()' и искать ошибки в консоли. –

ответ

3

Пожалуйста, проверьте XMLHttpRequests being stopped:

Если вы в конечном итоге с XMLHttpRequest, имеющий статус = 0 и = нуль его статуса, то это означает, что запрос не был допущен к производится. Это был СООБЩЕНИЕ. Вероятная причина этого заключается в том, что при генерации XMLHttpRequest тогда (0) XMLHttpRequest (при создании XMLHttpRequest) имеет . Этот случай может произойти , например, когда один имеет XMLHttpRequest, что увольняют на событие OnUnload для окна: XMLHttpRequest получает фактически создал , когда окно будет закрыто все еще там, а затем запрос отправлено (т.е. open()), когда это окно потеряло фокус, и потенциально разное окно приобрело фокус. Способ избежать этой проблемы - установить прослушиватель в новом окне «активировать» событие, которое устанавливается, когда старое окно имеет свое событие «разгрузки».

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

  • Нет связанных вопросов^_^