从 .json 返回获取 javascript var

Getting javascript var from .json return

本文关键字:javascript var 获取 返回 json      更新时间:2023-09-26

我有一个简单的API设置,我需要从中提取一些基本信息。确实,我在 heroku 上存储了两个变量:

{ "mylong":"38.804858" , "mylatt":"-77.045120" }

我的目标是将这两个对象放入一个 javascript 变量中并使用它们。这是我到目前为止在我的javascript文件中的内容:

<script type="text/javascript">
  function initialize() {
    var mylongMylatt;
      $.getJSON("http://someURLtoheroku.com/info.json", function(json){
        mylongMylatt=json;
      }
    var mylong = mylongMylatt.mylong[0]
    var mylatt = -mylongMylatt.mylatt[0]

这对我来说是一个学习游戏,所以我很想学习如何做到这一点,不仅仅是答案,而是真的迷茫,谢谢!

使用 getJSON 文档


.JS

<script type="text/javascript">
    function initialize() {
        var mylongMylatt;
        $.getJSON("http://someURLtoheroku.com/info.json", {
            format: "json"
        }).done(function( data ) {
            //.done subscribes to the .ajax promise and will execute on success.
            //json here is actually an object
            var mylong=data.mylong;
            var mylatt=data.mylatt;
        });
    });

注意:jQuery 1.5 中的 Promise 接口还允许 jQuery 的 Ajax 方法(包括 $.getJSON())在单个请求上链接多个.done().always().fail()回调,甚至可以在请求完成后分配这些回调。如果请求已完成,则会立即触发回调。

因为它是一个.ajax是一个承诺,它接受deferred.object http://api.jquery.com/category/deferred-object/


以下内容也应该在不使用.promise的情况下工作

说明:这有效,因为$.getJSON函数第二个参数是第一个成功函数。

<script type="text/javascript">
    function initialize() {
        var mylongMylatt;
        $.getJSON("http://someURLtoheroku.com/info.json", function(json){
            var mylong = json.mylong;
            var mylatt = -json.mylatt;
        }
您可以通过

.访问 JSON 属性

$.getJSON("http://someURLtoheroku.com/info.json", function(json){
   var myLong = json.mylong
   var mylatt = json.mylatt;
 });

但是,由于调用的异步性质,在getJSON调用完成之前无法访问这些变量,因此您需要在回调中执行所需的任何工作。