Я хочу сделать Ajax-вызов через jQuery, у меня есть данные публикации в виде объекта в этом формате.
var data = {
pointsPriceChangeInfo: {oldTripTotal: "123", oldTripGrandTotal: "1231"}
prices: "[{"price":{"amount":"$2123","currencyCode":"USD"},"type":"PER_TRAVELER"}]"
productInternalName: "Travel Protection"
responseId: "test"
tripId: "***-99ff-417e-***-****"
}
$.ajax({
url: URL,
method: "POST",
data: JSON.stringify(data),
contentType: "application/json"
})
Это дает мне ошибку 400:
Request URL: https://***/Checkout/addGlobalInsuranceV2
Request Method: POST
Status Code: 400
Remote Address: *********
Referrer Policy: no-referrer-when-downgrade
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 1649
Content-Type: application/json; charset=UTF-8
КогдаЯ изменяю свой вызов ajax следующим образом:
$.ajax({
url: URL,
method: "POST",
data: data
})
Запрос выдает ошибку 500:
Request URL: https://***/Checkout/addGlobalInsuranceV2
Request Method: POST
Status Code: 500
Remote Address: ***.*.*.*
Referrer Policy: no-referrer-when-downgrade
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 1687
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Это сигнал метода Javaaauture:
public Map<String, Object> addGlobalInsuranceV2(
@RequestParam(PRODUCT_INTERNAL_NAME_KEY) String productInternalName,
@RequestParam(RESPONSE_ID_KEY) String responseId,
@RequestParam(TRIP_ID_KEY) String tripId,
@RequestParam(PRICES_KEY) String prices,
HttpServletRequest httpRequest, @ModelAttribute(value = POINTS_INFO) PointsPriceChangeInfo pointsPriceChangeInfo)
Можеткто-то скажет мне, почему для 400 установлено значение application / json, а для другого 500. И какой из них мне следует использовать?
Спасибо,