ajax возвращает html-код текущей страницы вместо json - PullRequest
0 голосов
/ 05 сентября 2018

Я использую функцию $.ajax в JQuery для получения JSON из файла. Файлы HTML, JavaScript и json находятся в одном каталоге. Проблема заключается в том, что когда я печатаю данные, возвращенные из функции обратного вызова success, он печатает HTML-разметку HTML-страницы вместо JSON.

Вот мой data.json файл:

{
  "products":[
    {
      "skuNum":"SKU# 105423-2",
      "brand":"nike running shoes",
      "section":"men > shoe > Running shoes",
      "img":"392232_004_ss_01.jpg",
      "price":500
    },
    {
      "skuNum":"SKU# 105423-2",
      "brand":"south face jacket",
      "section":"women > Apparel > jackets",
      "img":"jacket.jpeg",
      "price":800
    }
  ]
}

мой JQuery:

$(function () {
      $.ajax({
          type: 'GET',
          URL:'data.json',
          success:function (data) {
              console.log(data);
          },
          error:function (error) {
              console.log('error')
          }
      });
});

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="ajax.css">
    <script src="jquery-3.3.1.js"></script>
</head>
<body>
<nav>
    <a href="#">Home</a>
    <a href="#" id="products">Products</a>
    <a href="#">Help</a>
</nav>
<div class="container">

</div>
<script src="ajax.js"></script>
</body>
</html>

А вот фрагмент вывода:

output snippet

1 Ответ

0 голосов
/ 05 сентября 2018

Javascript чувствителен к регистру. Правильным свойством для URL является url в $.ajax объекте параметров

Когда вы предоставляете неправильно написанное свойство, оно игнорируется, а правильное свойство возвращает неопределенное значение.

В этом случае, поскольку это URL, запрос будет отправлен на текущую страницу, поскольку в параметрах

нет url.

Изменение:

URL:'data.json',

К

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