Estoy tratando de usar la autocompletar de jQuery UI para comunicarme con un servicio web con responseformate JSON, pero no puedo hacerlo.JSON y jQuery.ajax
Mi servicio web ni siquiera se ejecuta, la ruta debe ser correcta ya que el mensaje de error no se queja de esto.
Lo que me sorprende son los encabezados, la respuesta es jabón, pero la solicitud es json, ¿se supone que es así?
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
El mensaje de error que consigo es la siguiente (lo siento por el gran mensaje, pero podría ser de importancia):
jabón: ReceiverSystem.Web.Services.Protocols.SoapException: El servidor no pudo solicitud de proceso. --- > System.Xml.XmlException: los datos en el nivel raíz no son válidos. Línea 1, posición 1. en System.Xml.XmlTextReaderImpl.Throw (Exception e) en System.Xml.XmlTextReaderImpl.Throw (res String, String arg) en System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() al sistema. Xml.XmlTextReaderImpl.ParseDocumentContent() en System.Xml.XmlTextReaderImpl.Read() en System.Xml.XmlTextReader.Read() en System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read() en Sistema. Xml.XmlReader.MoveToContent() en System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent() en System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement() en System.Web.Services.Protocols.Soap12Serve rProtocolHelper.RouteRequest() en System.Web.Services.Protocols.SoapServerProtocol.RouteRequest (mensaje SoapServerMessage) en System.Web.Services.Protocols.SoapServerProtocol.Initialize() en System.Web.Services.Protocols.ServerProtocolFactory.Create (tipo tipo, HttpContext contexto, HttpRequest petición, la respuesta HttpResponse, Boolean & abortProcessing) --- final de seguimiento de pila de excepción ---
Este es mi código:
$('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) {
}
});
Y mi aspecto webservice como este:
[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
}
}
¿Qué estoy haciendo mal? Gracias de antemano :)
Ofcourse !! No puedo creer que me perdí eso, me disculpo por no reconocer eso antes de hacer la pregunta .. Gracias por su respuesta! – Andreas
¡No hay problema, feliz de ayudar! ¡Son esos pequeños y obvios errores los que toman más tiempo para resolver problemas! – Paul