J'utilise Select2 4.0.3 dans mon application web .net. J'essaye de charger des données à distance en utilisant un webservice, mais ne fonctionne pas comme prévu.Chargement de données à distance à l'aide de Select2 et Webservice
face Première h d'émission est que la méthode WebService n'est pas appelé et je suis devient une erreur de la console:
System.InvalidOperationException: Missing parameter: text.
at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
at System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
J'ai donc essayé de retirer le paremeter de l'appel webservice
<WebMethod()> _
Public Function GetDataFromService() As String
Faire cela la méthode a été déclenchée, mais les éléments du select2 n'ont toujours pas été remplis (capture d'écran jointe ). Est-ce que quelqu'un peut m'aider à comprendre où je fais une erreur?
Voici les détails:
code Select2 dans le Webform:
$("#ddlEntity").select2({
ajax: {
url: "Service/InvoiceHTMLService.asmx/GetDataFromService",
type: 'POST',
delay: 250,
params: {
contentType: 'application/json; charset=utf-8'
},
dataType: 'json',
data: function (term, page) {
return {
text: term,
};
},
processResults: function (data, params) {
// parse the results into the format expected by Select2
// since we are using custom formatting functions we do not need to
// alter the remote JSON data, except to indicate that infinite
// scrolling can be used
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
});
WebService Method:
<WebMethod()> _
Public Function GetDataFromService(text As String) As String
Return "{['id':1, 'text':'Test1'],['id':2, 'text':'Test2']}"
End Function
j'ai enlevé les deux options de modèle, encore la fois la problème persiste, ni le webservice n'est appelé, pas les données revenu. – user2561997
oops réponse doit être des objets tableau comme Retour [{'id': 1, 'texte': 'Test1'}, {'id': 2, 'texte': 'Test2'}] –
Je suis en mesure d'obtenir le retour des données, mais le principal problème que j'ai mentionné dans le message est que je ne suis pas en mesure d'obtenir la méthode de service Web appelée avec le paramètre de texte, Si je le laisse vide, cela fonctionne. Mais j'ai besoin du texte tapé comme paramètre, de sorte que je puisse obtenir les données filtrées. – user2561997