Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从URL读取外部文件/数据,用数据创建JS对象/数组以使用内容_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 从URL读取外部文件/数据,用数据创建JS对象/数组以使用内容

Javascript 从URL读取外部文件/数据,用数据创建JS对象/数组以使用内容,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,最终目标:来自给定URL(假定为相同的服务器/域),其中包含以下形式的数据: {"foo":6481,"value":13,"thing":"12_3"} 获取JavaScript代码来读取数据并将其放入数组/对象中,以便可以使用它在图形上绘制“值”。服务器将自动用新数据更新链接,但目前只是想弄清楚如何访问“值” 为了进行测试,我创建了一个.json文件和一个.html文件,并试图从“value”中打印“13”,以查看如何访问它,但在运行任何东西时遇到了困难。我花了很多时间在堆栈溢出和谷歌上试

最终目标:来自给定URL(假定为相同的服务器/域),其中包含以下形式的数据:

{"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"}