2011-09-09 23 views
0

夥計們,如何在Ajax回調中獲取控制器/模型/存儲/視圖

我正在使用EXTJS MVC框架進行後端開發。

現在我惹上麻煩控制器/模型/存儲在Ajax回調

這裏是我的代碼片段。我在控制器中調用Ajax。

Ext.Ajax.request({ 
    url: 'http://localhost:8080/gdltest/gdl_service.cgi', 
    jsonData: jRequest, 
    method: 'POST',  
    success: function (response,options) { 
     var jsonData = Ext.JSON.decode(response.responseText); 
     var jData = jsonData.results.data; 

當我得到響應的數據,我想控制器/模型/店裏做更多的行動,但我不知道如何讓他們:(

非常感謝你多爲你的幫助:)

回答

2

你在success函數中所做的是正確的。請檢查您從服務器獲取的響應。另外,url是否正確?通常給出資源的相對路徑,而不是絕對路徑,正如你在這裏給出的。請求是否到達服務器?如果是這樣,我認爲正在發回的數據存在問題。開發期間,您還應該使用safe選項。如果從服務器返回的Json格式不正確,安全選項將引發錯誤。從文檔:

decode(String json, [Boolean safe]) 

安全:是否返回null或拋出一個異常,如果JSON是 無效。

編輯:如果你想使用this運營商的成功回調裏面然後指定scope配置。示例如下:

Ext.Ajax.request({ 
     url: 'http://localhost:8080/gdltest/gdl_service.cgi', 
     jsonData: jRequest, 
     method: 'POST',  
     success: function (response,options) { 
      var jsonData = Ext.JSON.decode(response.responseText); 
      var jData = jsonData.results.data; 
     }, 
     scope : this //this will be the object form which the Ajax.request is called, and not Ajax.request itself or you can specify any other object you desire. 
+0

嗨,Varun Achar,我沒有說清楚。因爲我可以正確地獲取響應數據。我感到困惑的是如何讓控制器/模型/存儲在回調成功函數內 – wubo

+0

我不太明白。在回調中直接使用'myStore.getCount()'時,你遇到了什麼問題?看起來更像是一個範圍問題。 –

+0

謝謝,哥們。你的方法確實有效。 COOOOOL :) – wubo

相關問題