javascript - 如何将远程 JSON 数据作为本地数组访问

标签 javascript jquery ajax json

我可以使用 Jquery 的 $.get 函数从另一个 URL 访问 JSON 数据,但如何在代码中的其他位置使用该数据(作为数组)?

考虑以下代码:

    <script type="text/javascript">
    $(function () {        

    $.get("/some/other/url/that/returns/json", function(data){
        var d = eval(data);
    });

    alert(d);
    </script>

这不起作用,但它表明了我想做的事情。预先感谢您的帮助/提示。

最佳答案

这样做:

<script type="text/javascript">
var d;

$.get("/some/other/url/that/returns/json", function(json){
    d = json;
}, "json");
</script>

您将获得 json 响应,如果它已经是一个数组,您将不需要执行任何其他操作。另外,请尽可能少地使用eval()。 (一点也不太好)

请注意,d 在有响应之前不会有任何值,因此您的代码应该处理该问题。最有可能的是,您会从 $.get("...", function(json){},"json") 中调用使用 d 的函数。

<script type="text/javascript">
var d;

useArray = function(d){
    //Operations that involve the response
}

$.get("/some/other/url/that/returns/json", function(json){
    d = json;
    // Operate over "d" once your server
    useArray(d); 
}, "json");
</script>

当然,由于您现在在单独的函数上对 d 进行所有操作,因此您可以简单地执行此操作

<script type="text/javascript">
useArray = function(d){
    //Operations that involve the response
}
$.get("/some/other/url/that/returns/json", function(json){
    useArray(json);
}, "json");
</script>

如果您需要再次访问d,您应该根据需要修改您的代码。这只是一个指南。

关于javascript - 如何将远程 JSON 数据作为本地数组访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313257/

相关文章:

javascript - JQuery closest() 返回未定义

javascript - float 为什么线又回到左上角?

javascript - 为什么我的 ajax post 功能不能与按钮单击一起使用?

javascript - 无法实现动态高度 jQuery Wookmark

php - 加载完成后剪切图像

javascript - 1行js从另一个地方导入带有js的html代码?

javascript - 如何在 PUT 后使用一次性消息进行重定向

javascript - 清除基于另一个字段的选择字段选项

php - 在 Safari 中,为什么 jQuery AJAX 调用后 $_POST 数组为空?

jquery - 无效选择的 JQM (jQueryMobile) 自定义 css