2010-04-16 18 views
7

मैं जेएसओएन प्रतिक्रिया के साथ एक webservice के साथ संवाद करने के लिए jQuery UI स्वत: पूर्ण का उपयोग करने की कोशिश कर रहा हूं, लेकिन मैं ऐसा करने में असमर्थ हूं।JSON और jQuery.ajax

मेरी webservice भी निष्पादित नहीं की गई है, पथ सही होना चाहिए क्योंकि त्रुटि संदेश इस बारे में शिकायत नहीं करता है।

हेडर्स मुझे क्या रोकता है, प्रतिक्रिया साबुन है लेकिन अनुरोध जेसन है, क्या ऐसा होना चाहिए?

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 

त्रुटि संदेश मैं प्राप्त इस प्रकार है (बड़ा संदेश के लिए खेद है, लेकिन यह महत्व का हो सकता है):

साबुन: ReceiverSystem.Web.Services.Protocols.SoapException: सर्वर करने में असमर्थ था प्रक्रिया अनुरोध --- > System.Xml.XmlException: रूट स्तर पर डेटा अमान्य है। System.Xml.XmlTextReaderImpl.Throw (अपवाद ई) System.Xml.XmlTextReaderImpl.Throw पर (स्ट्रिंग रेस, स्ट्रिंग आर्ग) System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace पर() सिस्टम पर पर लाइन 1, स्थिति 1. । Xml.XmlTextReaderImpl.ParseDocumentContent() System.Xml.XmlTextReaderImpl.Read (कम) System.Xml.XmlTextReader.Read (कम) System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read (कम) सिस्टम पर। System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement() पर Xml.XmlReader.MoveToContent() System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent() पर System.Web.Services.Protocols.Soap12Serve पर System.Web.Services.Protocols.SoapServerProtocol.Initialize() पर rProtocolHelper.RouteRequest() System.Web.Services.Protocols.SoapServerProtocol.RouteRequest (SoapServerMessage संदेश) पर System.Web.Services.Protocols.ServerProtocolFactory.Create पर

$('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) { 

    } 
    }); 

और मेरे वेब सेवा दिखता है: (प्रकार प्रकार, HttpContext संदर्भ, HttpRequest अनुरोध, HttpResponse प्रतिक्रिया, बूलियन & abortProcessing) --- भीतरी अपवाद स्टैक ट्रेस की समाप्ति ---

यह मेरा कोड है इस तरह:

[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 
    } 

} 

मैं क्या गलत कर रहा हूं? एक वेब सेवा का उपयोग कर मैं हमेशा सेट करना चाहते जब

/WebService/Member.asmx/GetMembers

: अग्रिम में :)

उत्तर

13

धन्यवाद मैं आप अपने यूआरएल के लिए विधि का नाम शामिल करने की जरूरत का मानना ​​है रूट के पथ (/ नहीं ../), यदि आप किसी भी प्रकार का यूआरएल रीराइट्स या रूटिंग का उपयोग कर रहे हैं तो यह सहायक हो सकता है।

JQuery से webservice को कॉल करने के संबंध में पढ़ने के लिए यहां एक अच्छा ब्लॉग पोस्ट है। http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

+0

संभोग !! मैं विश्वास नहीं कर सकता कि मुझे याद आया, मैं इस बात को स्वीकार करने के लिए क्षमा चाहता हूं कि मैंने प्रश्न पूछने से पहले .. आपके उत्तर के लिए धन्यवाद! – Andreas

+0

कोई समस्या नहीं, मदद करने में खुश! यह उन छोटी और स्पष्ट गलतियों है जो शूट करने में सबसे अधिक समय लेते हैं! – Paul

संबंधित मुद्दे