Javascript 如何使用Ajax列出JSON的结果
我有我的第一个Ajax代码,我有点困惑如何从某些代码中获取所有值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
$(提交)。单击(函数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标记?虽然这个代码片段可以解决这个问题,但它确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!你帮了我很多忙。:-)