将 json 与 jquery Ajax 一起使用不会返回任何内容

Posted

技术标签:

【中文标题】将 json 与 jquery Ajax 一起使用不会返回任何内容【英文标题】:Using json with jquery Ajax doens't return anything 【发布时间】:2017-05-10 08:04:36 【问题描述】:

我想学习如何将 JSON 与 jQuery 一起使用,因此我遵循了一个简单的视频教程。但是,在完成所有步骤并使用与视频中完全相同的代码后,在 console.log 之后我仍然看不到控制台中的任何内容。我做错了什么?

这是 html 页面:

<!DOCTYPE html>
<html>
<head>
    <title>Document</title>
</head>
<body>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script>
    $.ajax(
      url: 'articles.json',
      dataType: 'json',
      type: 'get',
      cache: false,
      succes: function(data) 
        $(data.articles).each(function(index, value) 
          console.log("success");
        );
      
    );
  </script>
</body>
</html>

这是我尝试使用数据的 JSON 文件 (articles.json):


    "articles": [
        
            "id": 1,
            "name": "Article 1"
        ,
        
            "id": 2,
            "name": "Article 2"
        ,
        
            "id": 3,
            "name": "Article 3"
        
    ]

提前致谢!

【问题讨论】:

您拼写错误success。请参阅文档api.jquery.com/jQuery.ajax 你是在同一路径下创建html文件和json文件,然后通过浏览器打开页面吗?这是因为 XMLHttpRequest 无法通过文件位置加载文件。我建议您将这两个文件放在某个 web 项目下并通过 HTTP 访问它们。例如 localhost:8080/youAPP/page.html @charlietfl 对不起,我的母语是这样写的 :) 属性名必须正确。可以在日志语句中拼错任何你想要的,这与问题无关 @charlietfl 哦,谢谢,我以为你在说 console.log("success"); ,但它并没有解决我的问题:/ 【参考方案1】:

这是使用 jquery 在 javascript 中读取 json 数据的正确方法

<script>
    $.ajax(
      url: 'articles.json',
      dataType: 'json',
      type: 'get',
      cache: false,
      succes: function(data) 
		var jsonData = JSON.parse(data);
		 $.each(jsonData.articles, function(i, v) 
				console.log("id = "+ v.id);
				console.log("name = " + v.name);
           );
      
    );
  </script>

【讨论】:

【参考方案2】:

使用 $.getJSON

例子

$.getJSON( "articles.json", function( data ) 
 
  $.each( data.articles, function( key, val ) 
   console.log(val);
  );

);

http://api.jquery.com/jquery.getjson/

【讨论】:

虽然这是一个不同的解决方案,但它并不能解决 OP 拼错成功的问题。

以上是关于将 json 与 jquery Ajax 一起使用不会返回任何内容的主要内容,如果未能解决你的问题,请参考以下文章

将 jquery 与 django rest api 放在一起

有没有办法将 json 文件与所有其他 js 文件一起加载? [复制]

jQuery - 将验证插件与 AJAX 表单插件一起使用

jQuery.Ajax与Ajax.beginform一起使用不引人注目的JavaScript

如何使用ajax将json传入后台数据

如何将一个 ajax 数据源与多个 JQuery 数据表一起使用