如何使用Ajax列出JSON的结果

时间:2016-12-06 08:56:42

标签: javascript jquery json ajax

我有我的第一个Ajax代码,我有点困惑如何从某些

获取所有值
<html>
<head>
  <script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <title>My first Ajax</title>
</head>

<body>
  <script type="text/javascript">
    $(submit).click(function getResults() {
      return $.ajax({
        type: "GET",
        url: "https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: "true",
        cache: "false",
        success: function(msg) {
          // success          
        },
        Error: function(x, e) {
          // On Error
        }
      });
    });
    }
  </script>
  <input id="submit" name="submit" type="submit" value="Submit">
  </input>
</body>
</html>

网址。以下论文我已经在下面编写了代码,但它没有任何说法。我想知道如何从这个网址列出某些数据?

4 个答案:

答案 0 :(得分:1)

您需要更改许多内容(大部分内容都在此处引用:http://api.jquery.com/jquery.ajax/):

  • 使用较新版本的jquery: http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
  • JS snipper应该在元素之后,因为JS执行时没有定义任何元素
  • $(提交)无效。它应该是$(&#39;#submit&#39;)作为有效选择器。
  • 使用evt.preventDefault()来防止默认浏览器行为
  • url:除非该网址启用了CORS(跨域资源共享),否则您无法在其他域上发出请求,否则该请求将仅在与您的网页相同的域中生效。查看有关如何在本地测试的选项:Jquery .ajax() local testing
  • async:true - &gt;这是默认值,因此您可以省略
  • dataType - &gt;如果您期望来自服务器的JSON
  • ,这很好
  • contentType - &gt;没关系,但是你没有向服务器发送任何内容,所以它并不是真的需要
  • 错误:以较低的字母开头

下面&#39;代码已更新:

    <html>
     <head>
          <script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
          <title>My first Ajax</title>
    </head>
    <body>
    <input id="submit" name="submit" type="submit" value="Submit">

     <script type="text/javascript">
     $("#submit").click(function(evt) {
      evt.preventDefault();
      $.ajax({
        type: "GET",
        url: "https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: "false",
        success: function(msg) {
          // success
        },
        error: function(x, e) {
          // On Error
        }
      });
    });
    </script>
    </body>
   </html>

答案 1 :(得分:0)

试试这个:

$('#submit').click(function() {
       $.getJSON(url,function(data){
             // Do whatever you need
       });
});

答案 2 :(得分:0)

首先,应在输入标记后定义脚本。此外,请确保您有正确的标头来访问该网址,否则它将提供与Access-Control-Allow-Headers相关的错误。

答案 3 :(得分:0)

使用循环for-in

&#13;
&#13;
$(submit).click(function getResults() {
      return $.ajax({
      type: "GET",
      url:"https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      async: "true",
      cache: "false",
      success: function (msg) {
                   for (var i in data){
                       // data[i].something, etc
               }        
            },
            Error: function (x, e) {
                // On Error
            }
      });
    });
&#13;
&#13;
&#13;