2009-09-23 8 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 
}; 

Cet exemple fonctionne avec le magasin de données d'origine 'http://tdg-i.com/dataQuery.php'. Mon gestionnaire ashx renvoie les données dans le même format, mais les données sont différentes. Quoi qu'il en soit, quand j'utilise mon gestionnaire ashx, le gestionnaire est invoqué, il renvoie des données, mais le combo reste toujours dans l'état de chargement, et n'affiche jamais les données. Je suppose que le problème est avec les données que je retourne, mais son format est bien, la dernière chose que j'ai changé était la définition du type de contenuExtJS combobox jsonDataStore

context.Response.ContentType = "application/json";

mais je ne peux toujours pas obtenir cette chose au travail, des suggestions?

ce sont des données provenant de mon gestionnaire.

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

Répondre

0

Votre premier enregistrement (id 1) manque "fullName" ce qui le rend invalide JSON - je ne sais pas si c'est juste une erreur en tapant ici ou pas.

+0

mon mauvais, son erreur de pâte de copie, j'essayais de modifier les données d'échantillon! – hazimdikenli

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

bien ressemble pour effectuer des requêtes même domaine, je devrais utiliser HttpProxy

donc là vous l'avez, c'est la raison pour laquelle il travaillait avec les données d'échantillons fournis par le site Web, mais pas avec ma version locale.