首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON和jQuery.ajax

JSON和jQuery.ajax
EN

Stack Overflow用户
提问于 2010-04-16 15:15:05
回答 1查看 4.1K关注 0票数 7

我正在尝试使用JSON自动完成来与带有响应格式的jQuery的but服务通信,但是我无法这样做。

我的webservice甚至没有被执行,路径应该是正确的,因为错误消息不会抱怨这一点。

让我印象深刻的是头部,响应是soap而请求是json,应该是这样的吗?

代码语言:javascript
复制
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处的System.Xml.XmlTextReaderImpl.Throw(异常e) (字符串res,字符串arg) at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlTextReader.Read() at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent() at System.Xml.XmlReader.MoveToContent() at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent() at System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement() at System。System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage消息的Web.Services.Protocols.Soap12ServerProtocolHelper.RouteRequest() ) System.Web.Services.Protocols.ServerProtocolFactory.Create(Type类型的System.Web.Services.Protocols.SoapServerProtocol.Initialize(),HttpContext context,HttpRequest request,HttpResponse response,Boolean& abortProcessing) -内部异常堆栈跟踪结束

这是我的代码:

代码语言:javascript
复制
$('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看起来像这样:

代码语言:javascript
复制
[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
    }

}

我做错了什么?提前感谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-16 15:42:27

我认为您需要在URL中包含该方法的名称:

/WebService/Member.asmx/GetMembers

在使用webservice时,我总是喜欢将路径设置为根目录(/ no../),如果您正在进行任何类型的URL重写或使用路由,这将非常有用。

这里有一篇关于从JQuery调用webservice的博客文章值得一读。http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2651248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档