0

Ext.data.jSonP煎茶API我試圖從我的服務器JSON。我打電話的API是這樣的:使用ColdFusion

Ext.data.JsonP.request({ 
     url: 'http://dev.mysite.com/temp.cfm', 
     callbackKey: 'callback', 
     timeout: 40000, 
     params: { 
      format: 'json' 
     }, 
     success: function(result, request) { 
      // Get the weather data from the json object result 
      var weather = result; console.log('Succ'); 
     }, 
     failure: function(result, request) { 
      // Get the weather data from the json object result 
      var weather = result; console.log('Fail'); 
     }, 
     callback: function(result, request) { 
      // Get the weather data from the json object result 
      var weather = result; console.log('CallB'); 
     } 
    }); 

我正在使用Coldfusion作爲Serverside。所以,我只是這樣做:

<cfreturn '#url.callback#({\"LOGINSTATUS\":\"fail\"})'> 

返回以下字符串:

Ext.data.JsonP.callback1({\"LOGINSTATUS\":\"fail\"}) 

但我的要求總是超時。

+0

它由jsonp請求時的內部機制定義。所有你的服務器端需要返回的是那個回調鍵包裝json字符串 – dbrin

+0

@DmitryB隨着多一點調試,我才知道我的請求正在超時。任何想法可能是什麼原因? 我也嘗試設置超時:'40000',但它仍然超時。 –

+0

它在服務器上花了多少時間?請檢查以確保您完全按照從客戶端提供給您的方式返回服務器端的回調密鑰。 – dbrin

回答

0

我無法弄清楚什麼是實際問題。我只是嘗試使用cfm文件而不是服務器端的cfc,並開始工作。

如果有人可以解釋爲什麼發生這種情況,我會接受的解釋,正確的答案。

感謝DmitryB和Sharondio爲您的時間和努力來幫助我解決這個問題。我非常感謝你的幫助。

+0

這是第一次提到使用.cfc。可能希望在您的原始問題中包含非工作的cfc代碼。也許有人會發現這個問題。 – Leigh