Я работаю с Spring MVC architecture
, в моем приложении я написал контроллеры, это ничего, кроме моих сервисов, которые возвращают объекты json в качестве ответа.Функция ajax success не получает вызов в java-скрипте
Теперь я пытаюсь вызвать этот контроллер, используя вызов ajax в javascript. Я написал ajax-вызов для одного из моих контроллеров и передаю объект JSON со своей клиентской стороны, поскольку это запрос POST. В том, что вызов ajax каждый оператор выполняется правильно до content-type
, , но когда дело доходит до функции успеха, он напрямую перенаправляется на функцию ошибки, не выполняя функцию успеха.
Я прошел через все предлагаемые ссылки, но все же я застрял на той же ошибке.
Может ли кто-нибудь помочь мне получить решение. Вот код я использую:
function postRequest(postUrl,jsonData)
{
var result;
$.ajax({
url: postUrl,
async: false,
type: 'POST',
crossDomain: true, // enable this
data: jsonData,
dataType: 'json',
traditional : true,
// processData: false,
contentType: "application/json",
success: (function (data)
{
alert(data);
result = data;
alert("In success");
}),
error: function (errorThrown)
{
alert("In error");
return errorThrown;
}
});
return result;
}
Это мой объект JSON
{
"description":"This is test",
"price":11.0,
"code":"11"
}
Я получаю эти две ошибки:
Object { readyState: 0, getResponseHeader: .ajax/v.getResponseHeader(), getAllResponseHeaders: .ajax/v.getAllResponseHeaders(), setRequestHeader: .ajax/v.setRequestHeader(), overrideMimeType: .ajax/v.overrideMimeType(), statusCode: .ajax/v.statusCode(), abort: .ajax/v.abort(), state: .Deferred/d.state(), always: .Deferred/d.always(), then: .Deferred/d.then(), 11 more… } RequestResponse.js:52:6
Выше ошибки я получил в errorThrown object
.И ниже является еще одна ошибка
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.1.100:8080/FINEXERP_Server/codePrice/save. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
, что это ошибка, которую вы получите в сообщении об ошибке: функция()? Изменить обратный вызов ошибки на error: function (xhr, status, errThrown) { console.log (xhr, status, errThrown); } проверьте, какую ошибку вы получите. –
'async: false,' всегда плохая идея, это не так, как должен работать ajax-запрос, и это btw устарело –
'когда дело доходит до функции успеха, оно напрямую перенаправляется на функцию ошибки, не выполняя функцию успеха'. Таким образом, запрос doesn Успех был неудачным. Проверьте сообщение об ошибке –