У меня есть строка 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 эту ошибку, многие предложения говорят, что это может быть проблема с перекрестным браузером. У меня нет контроля над кодом на стороне сервера.
Как исправить ошибку кросс-браузера с клиентской стороны?
Вы проверили HTTP-заголовок 'content-type'? Если вы действительно отправляете json-данные, вы должны указать правильный 'contentType' в настройках' ajax', потому что jQuery использует 'application/x-www-form-urlencoded' как тип контента по умолчанию, см. [Documentation] (http: // api.jquery.com/jquery.ajax/). –
Hi IIya, я изменил свой пост jquery на ajax, но на этот раз я получаю странную ошибку, которая не имеет ничего полезного :( – user3773712
Скорее всего, ваш запрос даже не отправляется сейчас. Две вещи - оберните ваши данные объект в 'JSON.stringify()' и искать ошибки в консоли. –