Javascript 从URL读取外部文件/数据,用数据创建JS对象/数组以使用内容
最终目标:来自给定URL(假定为相同的服务器/域),其中包含以下形式的数据:Javascript 从URL读取外部文件/数据,用数据创建JS对象/数组以使用内容,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,最终目标:来自给定URL(假定为相同的服务器/域),其中包含以下形式的数据: {"foo":6481,"value":13,"thing":"12_3"} 获取JavaScript代码来读取数据并将其放入数组/对象中,以便可以使用它在图形上绘制“值”。服务器将自动用新数据更新链接,但目前只是想弄清楚如何访问“值” 为了进行测试,我创建了一个.json文件和一个.html文件,并试图从“value”中打印“13”,以查看如何访问它,但在运行任何东西时遇到了困难。我花了很多时间在堆栈溢出和谷歌上试
{"foo":6481,"value":13,"thing":"12_3"}
获取JavaScript代码来读取数据并将其放入数组/对象中,以便可以使用它在图形上绘制“值”。服务器将自动用新数据更新链接,但目前只是想弄清楚如何访问“值”
为了进行测试,我创建了一个.json文件和一个.html文件,并试图从“value”中打印“13”,以查看如何访问它,但在运行任何东西时遇到了困难。我花了很多时间在堆栈溢出和谷歌上试图解决这个问题。这是最接近我认为可以帮助我的东西,但它不起作用
我为datadata.json所做的尝试:
{"foo":6481,"value":13,"thing":"12_3"}
[{"foo":6481,"value":13,"thing":"12_3"}]
'[{"foo":6481,"value":13,"thing":"12_3"}]'
那么对于我的JS文件:
var newArray = new Array ();
$.ajax({
async: false,
url: 'datadata.json',
data: "",
accepts: 'application/json',
dataType: 'json',
success: function(data) {
newArray.push(data.value); //or data.name
}
})
console.log(newArray);
这将打印空括号,此错误:
语法错误:意外标记“:”。分析错误
还尝试了XMLHttpRequest,这导致了相同的错误:
var jsonArr = new XMLHttpRequest();
jsonArr.open('GET', 'datadata.json', true);
jsonArr.onreadystatechange = function(data) {
console.log(jsonArr.name);
};
jsonArr.send();
当.json文件数据具有数组名称时:
data='[{“foo”:6481,“value”:13,“thing”:“12_3”}]
使用JSON.parse(数据)是可行的
这是为什么?如何从URL获取要解析的数据
另外,我不想为此使用PHP
---工作解决方案,但.json文件仍有错误---
使用此格式:
{"foo":6481,"value":13,"thing":"12_3"}
由于测试原因重写回调结果。不过,一般来说,同步AJAX请求对UX来说是个坏主意。@scrowler,我相信你的意思是同步:)@scrowler,谢谢你,根据我的研究,$.getJSON相当于使用$.AJAX代码,对吗?另外,默认情况下使用$.getJSON将async设置为true?我已经忘记了什么是异步,但在您的评论之后再次阅读它是的,或者甚至只是
$。get()
可以通过出于测试原因重写回调结果来做得很好。不过,一般来说,同步AJAX请求对UX来说是个坏主意。@scrowler,我相信你的意思是同步:)@scrowler,谢谢你,根据我的研究,$.getJSON相当于使用$.AJAX代码,对吗?另外,默认情况下使用$.getJSON将async设置为true?我已经忘记了什么是异步,但是在你的评论之后再读一遍。是的,甚至只是$。get()
会很好
{"foo":6481,"value":13,"thing":"12_3"}