Как использовать HTTP-запрос для извлечения данных из Laravel API? - PullRequest
0 голосов
/ 22 марта 2019

В настоящее время я изучаю 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, поскольку, если я скопирую и вставлю эту ссылку в браузер, ничего не выйдет из строя ...

1 Ответ

0 голосов
/ 23 марта 2019

(Опубликовано от имени автора вопроса) .

На самом деле решение простое, просто добавьте http: // к URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...