Ich versuche, die jQuery UI Autocomplete zu verwenden, um mit einem Webservice mit responseformate JSON zu kommunizieren, aber ich kann dies nicht tun.JSON und jQuery.ajax
Mein Webservice wird nicht einmal ausgeführt, der Pfad sollte korrekt sein, da sich die Fehlermeldung nicht beklagen lässt.
Was mir auffällt, ist die Header, Antwort ist Seife, aber Anfrage ist JSON, soll es so sein?
Response Headersvisa källkod
Content-Type application/soap+xml; charset=utf-8
Request Headersvisa källkod
Accept application/json, text/javascript, */*
Content-Type application/json; charset=utf-8
Die Fehlermeldung ist i erhalten wie folgt (sorry für die große Nachricht, aber es könnte von Bedeutung sein):
soap: ReceiverSystem.Web.Services.Protocols.SoapException: Server konnte zu Prozessanforderung. --- > System.Xml.XmlException: Daten auf der Stammebene sind ungültig. Zeile 1, Position 1 bei System.Xml.XmlTextReaderImpl.Throw (Exception e) bei System.Xml.XmlTextReaderImpl.Throw (String res, String arg) bei System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() bei System. (Xml.XmlTextReaderImpl.ParseDocumentContent) bei System.Xml.XmlTextReaderImpl.Read() bei System.Xml.XmlTextReader.Read() bei System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read() bei System. Xml.XmlReader.MoveToContent() bei System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent() bei System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement() bei System.Web.Services.Protocols.Soap12Serve rProtocolHelper.RouteRequest() bei System.Web.Services.Protocols.SoapServerProtocol.RouteRequest (SoapServerMessage message) bei System.Web.Services.Protocols.SoapServerProtocol.Initialize() bei System.Web.Services.Protocols.ServerProtocolFactory.Create (Typ Typ, Httpcontext Kontext, Httprequest Anfrage, Httpresponse-Antwort, Boolean & abortProcessing) --- Ende der inneren Ausnahmestapelüberwachung ---
Dies ist mein Code:
$('selector').autocomplete({
source: function(request, response) {
$.ajax({
url: "../WebService/Member.asmx",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
data: JSON.stringify({prefixText: request.term}),
success: function(data) {
alert('success');
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert('error');
}
})
},
minLength: 1,
select: function(event, ui) {
}
});
Und mein WebService Aussehen so:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class Member : WebService
{
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string[] GetMembers(string prefixText)
{
code code code
}
}
Was mache ich falsch? Vielen Dank im Voraus :)
Natürlich !! Ich kann nicht glauben, dass ich das verpasst habe, entschuldige mich dafür, das nicht erkannt zu haben, bevor ich die Frage gestellt habe. Danke für Ihre Antwort! – Andreas
Kein Problem, gerne helfen! Es sind diese kleinen und offensichtlichen Fehler, die die meiste Zeit für die Fehlersuche benötigen! – Paul