2013-10-26 20 views
2

我在用existdisolve編寫的ExtJs4 cartracker application。我能夠將他的查詢從其餘請求更改爲ajax請求。我還修改了api調用以使用ajax來發出更新的ajax請求。Extjs正在通過我的cfc一個json字符串,我無法閱讀

我沒有將表單或網址數據傳遞給我的cfc。相反,在螢火蟲,我看到JSON通過。我很困惑,如果它沒有通過形式或網址,這是如何通過,我怎麼得到的數據?我已經嘗試反序列化表單和網址並在反序列化後拋棄這些,並且我被告知它不是json。

我在哪裏可以找到json? 我被禁止發佈圖片。但它看起來像這樣在xhr窗口:

JSON 
    Active  true 
    ColorID null 
    Shortname red 
    Longname Blood Red 

所以,如果它被傳遞,我爲什麼不能到它?

編輯: @existdissolve - 我取代了rest.js與ajax.js看起來像這樣:

 /** 
    * Abstract REST proxy 
    */ 
    Ext.define('CarTracker6.proxy.Ajax', { 
     extend: 'Ext.data.proxy.Ajax', 
    alias: 'proxy.baseajax', 
    /*format: 'json',*/ 
    limitParam: 'max', 
    startParam: 'offset', 
    sortParam: 'sortorder', 
    writer : { 
    type : 'ajax', 
    encode : false, 
    writeAllFields : true, 
    root : 'data', 
    allowSingle : true, 
    batch : false, 
    method: 'post', 
params: { record: 'record' }, 
    writeRecords : function(request, data) { 
    request.jsonData = data; 
return request; 
    } 
}, 

reader: { 
    type: 'json', 
    root: 'data', 
    totalProperty: 'count' 
}, 
    api: { 
     read: 'api/option/colors.cfc?method=getcolors', 
     create: 'api/option/colors.cfc?method=addcolors', 
     update: 'api/option/colors.cfc?method=updatecolors', 
     destroy: 'api/option/colors.cfc?method=deletecolors' 
    } 
}); 

我讀的作品完美,我可以調用正確的氟氯化碳的顏色,狀態,等等,並檢索必要的數據。我正在尋找將參數傳遞給CFC並且不起作用。

+0

您的代理和編寫器配置是什麼樣的? – existdissolve

+0

幾件事情:1.)爲什麼你在作家中覆寫writeRecords()? 2.)由於您在編寫器中指定了「root」,因此您應該期望在表單中看到包含您持久保存的模型實例的序列化JSON的「數據」鍵。你應該能夠反序列化並獲得CF可以使用的對象。 – existdissolve

+0

existdissolve,您的評論告訴我,我需要回到sencha文檔並做更多的閱讀。我想我可以用ajax調用替換其他調用。很明顯不是。感謝您的指導。 – user1112605

回答