У меня приложение NodeJS, развернутое в Openshift с использованием базового образа NodeJS 10.
Когда приложение пытается вызвать запрос REST POST с помощью ajax, браузер возвращает «option.uri - обязательный аргумент».
Я пытаюсь использовать другую версию NodeJS, ранее это была NodeJS 8, но я переключился на NodeJS 10, и он по-прежнему возвращает ту же проблему.
Я проверял URL снова и снова, иэто правильно.
function order() {
var success = false;
$.ajax({
url: "orders",
type: "POST",
async: false,
success: function (data, textStatus, jqXHR) {
if (jqXHR.status == 201) {
console.log("Order placed.");
$("#user-message").html('<div class="alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> Order placed.</div>');
deleteCart();
success = true;
}
},
error: function (jqXHR, textStatus, errorThrown) {
response_payload = JSON.parse(jqXHR.responseText)
console.log('error: ' + jqXHR.responseText);
if (jqXHR.status == 406) {
$("#user-message").html('<div class="alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> Error placing order. ' + response_payload.message + '</div>');
}
}
});
return success;
}
Я ожидаю, что запрос POST будет успешным, но фактический запрос возвращает 500 Внутренняя ошибка сервера.
Я переводю ответ в строку, и он показывает
{"readyState":4,"responseText":"{\"message\":\"options.uri is a required argument\",\"error\":{}}","responseJSON":{"message":"options.uri is a required argument","error":{}},"status":500,"statusText":"Internal Server Error"}
Что-то я пропустил в запросе POST?