Javascript 如何使用Ajax列出JSON的结果

Javascript 如何使用Ajax列出JSON的结果,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我有我的第一个Ajax代码,我有点困惑如何从某些代码中获取所有值 我的第一个Ajax $(提交)。单击(函数getResults(){ 返回$.ajax({ 键入:“获取”, url:“https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php", contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, 异步:“真”, 缓存:“false”, 成功:功能(msg){ //成功 }, 错

我有我的第一个Ajax代码,我有点困惑如何从某些代码中获取所有值


我的第一个Ajax
$(提交)。单击(函数getResults(){
返回$.ajax({
键入:“获取”,
url:“https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php",
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
异步:“真”,
缓存:“false”,
成功:功能(msg){
//成功
},
错误:函数(x,e){
//论错误
}
});
});
}
网址。在下面的文章中,我写了下面的代码,但说实话,这并没有任何作用。我想知道如何列出此url中的某些数据?

试试以下方法:

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

首先,应该在输入标记之后定义脚本。另外,请确保您有正确的头来访问url,否则它将给出与访问控制允许头相关的错误

将循环用于in

$(提交)。单击(函数getResults(){
返回$.ajax({
键入:“获取”,
url:“https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php",
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
异步:“真”,
缓存:“false”,
成功:功能(msg){
用于(数据中的var i){
//数据[i]。某物等
}        
},
错误:函数(x,e){
//论错误
}
});

});您需要更改的内容很多(其中大多数是此处的参考:):

  • 使用较新版本的jquery:
  • JS snipper应该在元素之后,因为执行JS时没有定义元素
  • $(提交)无效。它应该是$('#submit')作为有效选择器
  • 使用evt.preventDefault()防止默认浏览器行为
  • url:除非该url已启用CORS(跨源资源共享),否则无法在其他域上发出请求,否则该请求将仅在与页面相同的域上工作。请参阅有关如何进行本地测试的选项:
  • async:true->这是默认值,因此您可以修改它
  • 数据类型->如果您希望从服务器获取JSON,这很好
  • contentType->这很好,但您不向服务器发送任何内容,因此实际上不需要它
  • 错误:以小写字母开头
以下是更新的代码:

    <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>

我的第一个Ajax
$(“#提交”)。单击(函数(evt){
evt.preventDefault();
$.ajax({
键入:“获取”,
url:“https://www.cs.kent.ac.uk/people/staff/lb514/hygiene/hygiene.php",
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
缓存:“false”,
成功:功能(msg){
//成功
},
错误:函数(x,e){
//论错误
}
});
});

在success和error函数中,执行console.log(msg)并查看输出结果。这里有很多问题。1)
async
cache
采用布尔值,而不是字符串2)不要使用
async:false
。这是可怕的。如果你检查控制台,你甚至会看到浏览器告诉你不要使用它。3) 这是
error
,而不是
error
4)删除
getResults
5)哪里定义了
submit
?明白了,真的很好的建议。我跟着他们。我想我可以直接在那里使用html标记?虽然这个代码片段可以解决这个问题,但它确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!你帮了我很多忙。:-)