jQuery UIオートコンプリートを使用してresponseformateJSONを使用してWebサービスと通信しようとしていますが、それができません。
私のWebサービスは実行されていません。エラーメッセージがこれについて文句を言っていないので、パスは正しいはずです。
私を驚かせるのはヘッダーです、応答は石鹸ですが、要求は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(Exception e)at System.Xml.XmlTextReaderImpl.Throw(String res、String arg)at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()atSystem.Xml.XmlTextReaderImpl。 ParseDocumentContent()at System.Xml.XmlTextReaderImpl.Read()at System.Xml.XmlTextReader.Read()at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read()at System.Xml.XmlReader.MoveToContent()at System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement()のSystem.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent()
これは私のコードです:
$('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) {
}
});
そして、私のWebサービスは次のようになります。
[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
}
}
私は何が間違っているのですか?前もって感謝します :)