XMLHttpRequest () не может получить результат для отображения из запроса GET. но будет работать прямо в браузере

416
user2985725

Я хочу использовать URL для запроса GET, а затем отобразить результаты. Данные, которые я хочу вернуть, находятся в формате JSON.

Я просто продолжаю получать пустую строку или нулевое значение. Я думаю, что все сделал правильно, насколько далеко идет CORS, но теперь я застрял.

Я получаю что-нибудь от сервера? Или я не выводил должным образом?

<html> <meta charset="UTF-8">  <head> </head> <title>Search</title>  <!-- include jquery libary --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>   <form> <button type="button" id="btnGo">GO</button> <input type="text" name="ISBN" id="goText"> </form> <script type="text/javascript"></script>    <script> // run this script when button is clicked // Use user input in http get request for book price then display $("#btnGo").click(function(){ var url = "http://booksrun.com/api/price/sell/1464108730?key=31u8ebhn43otn4uwa9df";  var bookInfo = new XMLHttpRequest();  try{ bookInfo.open('GET', url, true); bookInfo.withCredentials = false; bookInfo.responseType = ""; bookInfo.send();  bookInfo.onreadystatechange = function(){ console.log("Ready State: " + bookInfo.readyState + " Status Text: " + bookInfo.statusText + " Status: " + bookInfo.status); console.log("response : " + bookInfo.response); }  }catch(e){ console.log("error: " + e.message); };//end try/catch  console.log("Status Text: " + bookInfo.statusText + " Status:" + bookInfo.status); console.log("response : " + bookInfo.response);  });//end onClick function       </script>  </html> 
0
Каждый современный настольный браузер имеет «инструменты разработчика», которые включают полезные вещи, такие как журнал ошибок, интерактивная консоль javascript и (что наиболее важно здесь) журнал сетевого трафика. Используя сетевые захваты, вы можете видеть заголовки, когда ваш браузер делает запрос, видеть, что сервер отвечает (статус, заголовки и тело), ​​и обычно этого достаточно, чтобы выяснить, что не так. Если вам этого недостаточно, опубликуйте детали запроса и ответа здесь, и мы обязательно вам расскажем. CBHacking 6 лет назад 0
Спасибо за совет по поводу сетевой консоли. Я вижу ответ, который хочу, в консоли вместе с кодом состояния 200. Но я все еще не могу получить данные из объекта XMLHttprequest в текстовое поле user2985725 6 лет назад 0
Я получаю нулевой ответ в функции console.log, но вижу правильный ответ JSON в сетевой консоли user2985725 6 лет назад 0
Ну, что заголовок `Origin` в запросе, и что заголовки` Access-Control-Allow * `в ответе? Похоже, проблема, скорее всего, в конфигурации CORS, основываясь на том, что вы нам сказали. CBHacking 6 лет назад 0

0 ответов на вопрос

Похожие вопросы