2009-12-02 15 views
9

मेरे पास टेम्पलेट के नीचे कोड का टुकड़ा अजाक्स सक्षम डब्ल्यूसीएफ सेवा है। एक्सएमएल के बजाय जेएसओएन वापस करने के लिए मैं क्या कर सकता हूं? धन्यवाद।जेसन को डब्ल्यूसीएफ सेवा से कैसे वापस करें?

using System; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.ServiceModel.Activation; 

[ServiceContract(Namespace = "WCFServiceEight")] 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class CostService 
{ 
    // Add [WebGet] attribute to use HTTP GET 
    [OperationContract] 
    [WebGet] 
    public double CostOfSandwiches(int quantity) 
    { 
     return 1.25 * quantity; 
    } 
} 

उत्तर

7

आप की कोशिश की है:

[WebGet(ResponseFormat= WebMessageFormat.Json)] 
+0

धन्यवाद। हाँ मैंने कोशिश की लेकिन मुझे अभी भी JQuery कोड से त्रुटि मिल रही है। वर मापदंडों = 7 $ .ajax ({ प्रकार:: यहाँ कोड मैं सेवा को कॉल करने का उपयोग कर रहा है "पोस्ट", यूआरएल: "http: // localhost: 53,153/TestWebServiceEightSite/CostService.svc", डेटा: पैरामीटर, contentType: "application/json; charset = utf-8", डेटाप्रकार: "json", सफलता: समारोह (परिणाम) {। $ ("InputHTML") वैल (परिणाम); } , त्रुटि: फ़ंक्शन (ई) { अलर्ट (ई); } }); – Zinoo

+0

क्या आपने देखा है: http://www.west-wind.com/weblog/posts/324917.aspx? – tomasr

1

आप पोस्ट क्रिया का उपयोग करने के $.ajax({ type: "POST", ...) में के रूप में आप [WebInvoke(Method="POST"] के साथ अपने विधि मार्कअप की आवश्यकता होगी चाहते हैं।

के बाद आप इसे चिह्नित [WebGet] (जो [WebInvoke(Method="GET")] के बराबर है) के साथ आपको मिल क्रिया का उपयोग कर सेवा, उदा .:

$.ajax({ type: "GET", ...) फोन या $.get(url, data, ...) का उपयोग करना चाहिए (अधिक जानकारी के लिए jQuery.get देखें)।

और आपको tomasr के रूप में tomasr के रूप में ResponseFormat को Json पर सेट करने की आवश्यकता होगी।

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