2012-03-06 95 views
1

在我的sencha應用程序中,我需要調用jsonp請求而不是ajax請求,但是我不知道如何編寫它。所以請爲我提供演示jsonp請求。如何在Sencha Touch應用程序中調用JSONP請求

感謝您從煎茶文檔

+0

請參閱此問題 - [使用Sencha Touch的移動應用程序 - JSON請求生成語法錯誤] [1] [1]:http://stackoverflow.com/questions/3881779/mobile-application-using-sencha-touch-json-request-generates-syntax-error – Anthony 2012-03-07 05:55:41

+0

選中此項:http:// stackoverflow。 COM /問題/ 9596166 /如何對訪問JSONP數據,使用-EXT-UTIL-JSONP請求 – Swar 2012-03-07 08:08:20

回答

1

樣品JSON請求:) 這裏的鏈接到更多的細節:http://docs.sencha.com/touch/2-0/#!/api/Ext.data.JsonP

Ext.data.JsonP.request({ 
     url: 'http://free.worldweatheronline.com/feed/weather.ashx', 
     callbackKey: 'callback', 
     params: { 
      key: '23f6a0ab24185952101705', 
      q: '94301', // Palo Alto 
      format: 'json', 
      num_of_days: 5 
     }, 
     success: function(result) { 
      //Your success function here... 
     } 
    }); 
1

檢查下面的代碼工作正常,我:)

  Ext.define('APP.view.List', { 
       extend: 'Ext.Container', 
       requires: [ 
        'Ext.data.JsonP' 
       ], 
       config: { 
        scrollable: true, 
        items: [{ 
          xtype: 'panel', 
          id: 'JSONP' 
         }, { 
         docked: 'top', 
         xtype: 'toolbar', 
         items: [{ 
          text: 'Load using JSON-P', 
          handler: function() { 
           var panel = Ext.getCmp('JSONP'), 
            tpl = new Ext.XTemplate([ 
            '<div class="demo-weather">', 
             '<tpl for=".">', 
              '<div class="day">', 
               '<div class="date">{date}</div>', 
               '<tpl for="weatherIconUrl">', 
                '<img src="{value}">', 
               '</tpl>', 
               '<span class="temp">{tempMaxF}°<span class="temp_low">{tempMinF}°</span></span>', 
              '</div>', 
             '</tpl>', 
            '</div>' 
           ]); 

           panel.getParent().setMasked({ 
            xtype: 'loadmask', 
            message: 'Loading...' 
           }); 

           Ext.data.JsonP.request({ 
            url: 'http://free.worldweatheronline.com/feed/weather.ashx', 
            callbackKey: 'callback', 
            params: { 
             key: '23f6a0ab24185952101705', 
             q: '94301', // Palo Alto 
             format: 'json', 
             num_of_days: 5 
            }, 

            callback: function(success, result) { 
             var weather = result.data.weather; 

             if (weather) { 
              panel.updateHtml(tpl.applyTemplate(weather)); 
             } 
             else { 
              alert('There was an error retrieving the weather.'); 
             } 

             panel.getParent().unmask(); 
            } 
           }); 
          } 
         }] 
        }] 
       } 
      }); 
相關問題