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 处理程序时,处理程序被调用,它返回数据,但组合始终保持在加载状态,并且从不显示数据。我假设问题出在我返回的数据上,但它的格式很好,我更改的最后一件事是设置内容类型

context.Response.ContentType = "应用程序/json";

但我仍然无法让这件事发挥作用,有什么建议吗?

这是来自我的处理程序的数据。

({"totalCount": "4","re​​cords":[{"id":1,"fullName": "aaa bbb"},{"id":2,"fullName":"cc dd"},{ "id":3,"fullName":"ee ff"},{"id":4,"fullName":"gg hh"}]});

4

2 回答 2

0

您的第一条记录(id 1)缺少“fullName”,这使得 JSON 无效——不确定这是否只是在此处输入错误。

于 2009-09-23T13:48:02.450 回答
0
proxy : new Ext.data.ScriptTagProxy({
    url : 'LookupLoader.ashx'
     //url: 'http://tdg-i.com/dataQuery.php' similar data
})

看起来像查询同一个域,我应该使用HttpProxy

所以你有它,这就是为什么它使用网站提供的示例数据而不是我的本地版本。

于 2009-09-23T14:56:13.327 回答