如何增加变量范围

时间:2013-10-07 03:54:40

标签: javascript coffeescript

我的coffeescript看起来像这样:

initialize = ->
    $.ajax
      url: "map_groups/1.json"
      type: "get"
      dataType: "json"
      success: (response) ->
        console.log response

    mapOptions =
        center: new google.maps.LatLng(response.latitude, response.longitude)
        zoom: 16
        mapTypeId: google.maps.MapTypeId.ROADMAP

问题是,mapOptions需要能够访问ajax响应。如何增加response的范围,以便mapOptions可以访问它?

2 个答案:

答案 0 :(得分:0)

AJAX

对于success功能,你可以这样,

success:function(response) {
           callFunction(response);
        }

您的callFunction应该只返回此response,然后您可以调用此功能以在mapOptions中使用

mapOptions =
        center: new google.maps.LatLng(response.latitude, response.longitude)
        zoom: 16
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        something:callFunction // your ajax response

答案 1 :(得分:0)

我建议使用全局变量global_response

success:function(response) {
    global_response = response
}

然后在mapOptions上:

mapOptions =
center: new google.maps.LatLng(response.latitude, response.longitude)
zoom: 16
mapTypeId: google.maps.MapTypeId.ROADMAP
json_response = global_response