javascript - ajax返回当前页面的html代码而不是json

标签 javascript jquery json

我正在 JQuery 中使用 $.ajax 函数从文件中获取 JSON。 HTML、JavaScript 和 json 文件位于同一目录中。问题是,当我打印从成功回调函数返回的数据时,它会打印 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

最佳答案

Javascript 区分大小写。 URL 的正确属性是 $.ajax 选项对象

中的 url

当您提供拼写错误的属性时,它将被忽略,并且正确的属性将返回未定义。

在本例中,由于它是 URL,因此将向当前页面发出请求,因为选项中没有可用的 url

更改:

URL:'data.json',

url:'data.json',

关于javascript - ajax返回当前页面的html代码而不是json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52189180/

相关文章:

javascript - IE8 : drag'n'drop files to a webpage

javascript - React 在加载图像时从数据加载 HashMap 像

javascript - 如何使用 ExcelJS 将 xlsx 写入浏览器中的文件?

android - 使用 Volley 获取 JSONArrays

javascript - 使用 .js 文件缓存大型下拉列表

jquery - 在同一 block 内切换 div

jQuery Mobile 和 Google map 插件在 safari 中可以很好地获取方向,但在独立版本中不起作用

jquery - 如何调用 jquery-templates 中嵌套的 {{tmpl}} 标签中的函数?

php - 无法在 iOS 中解析从 PHP 获取的 JSON

arrays - 在 TableView Swift 4 中填充 JSON 数据