我在用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並且不起作用。
您的代理和編寫器配置是什麼樣的? – existdissolve
幾件事情:1.)爲什麼你在作家中覆寫writeRecords()? 2.)由於您在編寫器中指定了「root」,因此您應該期望在表單中看到包含您持久保存的模型實例的序列化JSON的「數據」鍵。你應該能夠反序列化並獲得CF可以使用的對象。 – existdissolve
existdissolve,您的評論告訴我,我需要回到sencha文檔並做更多的閱讀。我想我可以用ajax調用替換其他調用。很明顯不是。感謝您的指導。 – user1112605