2009-09-23 59 views
0
var remoteLookupJsonStore = new Ext.data.JsonStore({ 
root : 'records', 
baseParams : { 
    column : 'fullName' 
}, 
fields : [ 
{ 
    name : 'name', 
    mapping : 'fullName' 
}, 
{ 
    name : 'id', 
    mapping : 'id' 
} 
], 
proxy : new Ext.data.ScriptTagProxy({ 
    url : 'LookupLoader.ashx' 
    //url: 'http://tdg-i.com/dataQuery.php' similar data 
}) 
}); 

var combo2 = { 
xtype : 'combo', 
fieldLabel : 'Search by name', 
forceSelection : true, 
displayField : 'name', 
valueField : 'id', 
hiddenName : 'customerId', 
loadingText : 'Querying....', 
minChars : 1, 
triggerAction : 'name', 
store : remoteLookupJsonStore 
}; 

此示例使用原始數據存儲「http://tdg-i.com/dataQuery.php」。我的ashx處理程序以相同的格式返回數據,但數據不同。無論如何,當我使用我的ashx處理程序時,處理程序會被調用,它會返回數據,但組合總是處於加載狀態,並且從不顯示數據。 我假設問題出在我回來的數據上,但它的格式沒問題,我改變的最後一件事是設置內容類型ExtJS combobox jsonDataStore

context.Response.ContentType =「application/json」;

但我仍然無法得到這個東西的工作,有什麼建議嗎?

這是來自我的處理程序的數據。 ({「totalCount」:「4」,「records」:[{「id」:1,「fullName」:「aaa bbb」},{「id」:2,「fullName」:'cc ddd 「},{」id「:3,」fullName「:」ee ff「},{」id「:4,」fullName「:」gg hh「}]});

回答

0

您的第一條記錄(id 1)缺少「fullName」,從而導致JSON無效JSON - 不確定這只是一個輸入錯誤。

+0

我的不好,其複製粘貼錯誤,我試圖修改樣本數據! – hazimdikenli 2009-09-23 14:17:38

0
proxy : new Ext.data.ScriptTagProxy({ 
    url : 'LookupLoader.ashx' 
    //url: 'http://tdg-i.com/dataQuery.php' similar data 
}) 

以及看起來像查詢同一個域中,我應該使用HTTPPROXY

所以你有它,這就是爲什麼它是由網站,但沒有與提供的樣本數據工作我的本地版本。