Я пытаюсь использовать автозаполнение пользовательского интерфейса jQuery для связи с веб-сервисом с responseformate JSON, но я не могу этого сделать.
Мой веб-сервис даже не выполняется, путь должен быть правильным, так как сообщение об ошибке не содержит жалоб.
Что меня поражает, так это заголовки, ответ - мыло, но запрос - json, должен ли он быть таким?
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
Сообщение об ошибке, которое я получаю, выглядит следующим образом (извините за огромное сообщение, но оно может иметь значение):
soap: ReceiverSystem.Web.Services.Protocols.SoapException: серверу не удалось обработать запрос. ---> System.Xml.XmlException: данные на корневом уровне недействительны. Строка 1, позиция 1.
в System.Xml.XmlTextReaderImpl.Throw (исключение e)
в System.Xml.XmlTextReaderImpl.Throw (String res, String arg)
в System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace ()
в System.Xml.XmlTextReaderImpl.ParseDocumentContent ()
в System.Xml.XmlTextReaderImpl.Read ()
в System.Xml.XmlTextReader.Read ()
в System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read ()
в System.Xml.XmlReader.MoveToContent ()
в System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent ()
в System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement ()
в System.Web.Services.Protocols.Soap12ServerProtocolHelper.RouteRequest ()
в System.Web.Services.Protocols.SoapServerProtocol.RouteRequest (сообщение SoapServerMessage)
в System.Web.Services.Protocols.SoapServerProtocol.Initialize ()
в System.Web.Services.Protocols.ServerProtocolFactory.Create (Тип типа, контекст HttpContext, запрос HttpRequest, ответ HttpResponse, Boolean & abortProcessing)
--- Конец внутренней трассировки стека исключений ---
Это мой код:
$('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) {
}
});
А мой веб-сервис выглядит так:
[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
}
}
Что я делаю не так? Заранее спасибо:)