从服务器请求JSON并用Javascript进行解析
Requesting JSON from server and parsing in Javascript
我正试图从服务器中提取json,并将其解析为Javascript对象。我的json是这样的:
{
"tour1": [
{
"title": "building1",
"description": "Tour of building1",
"image": "Icon.png",
"video": "tour.mp4",
"length": "0.00",
"version": "1.0",
"timestamp": "1111111111"
}
]
}
以下是对服务器的请求:
<!DOCTYPE html>
<html>
<body>
<h2>Parse JSON from Server</h2>
<p id="demo"></p>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> </script>
<script>
$.ajax({
url: "mysite.com/videos/tour.json";
var j = [];
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
});
window.alert(j.tour1[0].title);
</script>
</body>
</html>
我不明白为什么它不起作用。我是javascript的新手。我感谢在这个问题上提供的任何帮助。
我认为,当您想使用GET HTTP请求从服务器加载JSON编码的数据时,如果您使用getJson会更好,请查看下面的示例:
$.getJSON( "mysite.com/videos/tour.json", function( j ) {
alert( j.tour1[0].title );
});
希望这能有所帮助。
Ajax调用是一个异步调用,在Ajax语句结束后不会立即填充j。
使用Ajax的成功处理程序提醒j(未测试代码)
$.ajax({
url: "mysite.com/videos/tour.json",
method: "GET",
dataType: "JSON",
success: function( data ){
window.alert(data.tour1[0].title);
}
});
gurvinder给出了最佳解决方案,因为如果您正在激发ajax请求,那么您必须捕获响应,但如果您在代码中发出警报,则您的请求仍在工作,并且j必须未定义,因为它不是全局变量。有很多错误:
- 检查您的ajax synthax,因为"varj."的声明是错误的
- 永远不要在对象声明中使用";",始终使用","
- 在您的警报中,您试图找到一个变量"j",但j不存在,它是未定义的
相关文章:
- Javascript使用本地存储,回调对象并用Json更改为一个字符串以用于填充函数
- 如何返回到上一页并用php或javascript刷新它
- javascript:搜索并用不同的颜色代码替换十六进制颜色代码
- 我可以在另一个函数中创建一个函数并用Javascript调用它吗
- 如何用javascript访问json对象并用java将其转换为数组
- 使用JavaScript返回click-li项目的值,并用结果填充文本区域
- 如何通过C#返回JSON并用JavaScript进行解析
- 搜索Thorough链接并用Regex、PHP或Javascript识别RSS源
- 如何检查数组中的重复值并用JavaScript返回索引
- 如何自动捕获(系统)日期更改并用javascript刷新页面
- 搜索HTML文本区域中给定的单词,并用JavaScript在字符串中突出显示它们
- 分析一个文件的内容并用JavaScript存储在一个对象中
- 如何获取选定的文本id,并用javascript替换保持标签完整的文本
- 如何将当前日期与未来日期进行比较并用javascript进行验证
- 从服务器请求JSON并用Javascript进行解析
- 尝试用javascript创建一个座位预订系统,并用本地存储保存数据
- 如何从文本框中获取字符串并用javascript在页面中显示
- javascript foreach数组,并用逗号和空格分隔,显示为字符串
- 引导导航面板和日期选择器,并用javascript调用C#控制器
- Jquery或Javascript-Regex按ID匹配元素并用类似ID更改其他元素