PhoneGap和Backbone Ajax调用需要很长时间

时间:2014-02-09 15:32:03

标签: ios ajax backbone.js cordova

我有一个内置Backbone的phonegap应用程序,ajax调用花费了相当长的时间。加载46kb json文件的加载时间约为2分钟或更长。

我正在使用ios模拟器来ping我的本地node.js服务器。 node.js服务器对天气服务执行https.get()请求并返回它。当我在保龄球中使用网址时,通话工作非常快。

问题与移动内存管理或下划线模板有关吗?帮我!谢谢!

// views / weather.js

template: _.template($('#hero-1').html()),

render: function() {
    var view = this;
    $(this.el).html(this.template(view.model.toJSON()));
},

getWeatherData: function(lat, long){
      view.weatherModel = new this.model();
      view.weatherModel.fetch({
      data: {
        longitude: lat,
        latitude: long
      },
      success: function(data) {
          view.dataReturned(data.attributes);
          view.render();
      }
    });
 },

// models / weather.js

return Backbone.Model.extend({

    url: 'http://127.0.0.1:3000/weather',       

    parse: function(response){
        console.log("Parsing Response", response);
        response.weather.currently.avgTemp = Math.round(response.weather.currently.temperature);
        return response;
    }

});

// html / Template

<script type="text/template" id="hero-1">
   <div id="weather-temp" class="weather-temp">
      <%= weather.currently.avgTemp %>
   </div>
</script>

谢谢!

请注意: 如果我做这样的标准电话:

$.ajax({
            type: "GET",
            crossDomain:true,
            async: false,
            contentType:"application/json; charset=utf-8",
            url:"http://127.0.0.1:3000/weather?longitude=-122.406417&latitude=37.785834",  
            success:function(data) {
               console.log('success');
               console.log(data); 
            }
         });

它只是快速超时但如果我在模拟器的safari控制台中执行它将会工作。

1 个答案:

答案 0 :(得分:0)

我没有意识到XCODE会重置ios Simulator的位置。

打开模拟器:

窗口&gt;调试&gt;位置&gt;自定义位置

设置新位置。