В настоящее время я изучаю Laravel API и разработал очень простой API, который извлекает данные из базы данных, просто введя 127.0.0.1:8000/api/XXX в браузер, однако, когда я попытался использовать вызов ajax Чтобы получить данные с одного и того же URL-адреса, ajax всегда показывал, что запрос HTTP был неудачным, я использовал следующие коды ajax:
$.ajax({
url: "127.0.0.1:8000/api/XXX",
success: function(data) {
let response = JSON.parse(data);
displayResult(response, 1);
}
})
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
И этот код всегда приводил к alert("error");
, поэтому мне интересно, что, возможно, нужно написать несколько маршрутов, чтобы API правильно обрабатывал HTTP-запрос? Я уже определил маршрут в маршрутах \ api.php:
Route::apiResource('XXX', 'XXXController');
PS: при вводе URL-адреса API в браузер все работало нормально, при вызове ajax с URL-адресом API произошла ошибка.
Редактировать
Это ошибки, которые я получил от консоли браузера после того, как я использовал function(jqXHR, textStatus, errorThrown)
, чтобы перехватить ошибки
DOMException: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL
at Object.send (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:79420)
at Function.ajax (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:77118)
at retrieveAllBooks (http://127.0.0.1:8000/js/api-query.js:25:5)
at HTMLInputElement.<anonymous> (http://127.0.0.1:8000/js/api-query.js:10:7)
at HTMLInputElement.dispatch (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:41772)
at HTMLInputElement.y.handle (https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:39791)
Я не совсем уверен, почему это неверный URL, поскольку, если я скопирую и вставлю эту ссылку в браузер, ничего не выйдет из строя ...