2010-03-20 14 views
6

मैं कुछ ऐसा करने की कोशिश कर रहा हूं जिसे मैंने सोचा था कि सरल होगा। मुझे एक डब्ल्यूसीएफ सेवा बनाने की ज़रूरत है जिसे मैं JQuery के माध्यम से पोस्ट कर सकता हूं।डब्ल्यूसीएफ - "अप्रत्याशित चरित्र 'सी'।

[OperationContract] 
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)] 
public string SendMessage(string message, int urgency) 
{ 
    try 
    { 
    // Do stuff 
    return "1"; // 1 represents success 
    } 
    catch (Exception) 
    { 
    return "0"; 
    } 
} 

मैं तो JQuery के माध्यम से एक ASP.NET पेज से इस आपरेशन तक पहुँचने का प्रयास: मैं अपने WCF सेवा है जो इस प्रकार है परिभाषित किया गया है में एक ऑपरेशन किया है। इस आपरेशन पहुंचने के लिए मेरी JQuery कोड ऐसा दिखाई देता है:

function sendMessage(message) { 
    $.ajax({ 
    url: "/resources/services/myService.svc/SendMessage", 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    data: ({ message: message, urgency: '1' }), 
    dataType: "json", 
    success: function (data) { 
     alert("here!"); 
    }, 
    error: function (req, msg, obj) { 
     alert("error: " + req.responseText); 
    } 
    }); 
} 

जब मैं इस स्क्रिप्ट को निष्पादित, त्रुटि हैंडलर फिसल गया है। इसमें, मुझे एक त्रुटि मिलती है जो कहती है:

"अप्रत्याशित चरित्र 'सी'।

यह संदेश एक लंबे स्टैक ट्रेस के साथ शामिल है। मेरा सवाल है, मैं क्या गलत कर रहा हूँ? मुझे बिना किसी किस्मत के इस तरह की एक पोस्ट (How to post an array of complex objects with JSON, jQuery to ASP.NET MVC Controller?) मिली है। मैं इस बुनियादी बातचीत को कैसे काम कर सकता हूं?

धन्यवाद!

+1

मुझे लगता है कि आप गलत तरीके से पैरामीटर गुजर रहे हैं। निम्न पृष्ठ पर एक नज़र डालें: [3 एएसपी.NET AJAX के साथ jQuery का उपयोग करते समय टालने के लिए गलतियों] (http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery -with-aspnet-ajax /) – Giorgi

+0

इस साइट पर मेरे लिए यह पहुंच पहुंच योग्य नहीं है - यह क्या कहता है? –

उत्तर

3

मुझे लगता है कि आपको अनुरोध में अपने जेसन-डेटा को स्ट्रिंग करना होगा। अधिक जानकारी here। आप इनकमिंग प्रतिक्रिया डेटा को भी पार्स करना चाहेंगे, क्योंकि इसे बदले में स्ट्रिंग किया जाएगा। कार्य कण के लिए उपयुक्त एक सामान्य पुस्तकालय here पाया जा सकता है।

उदा .: डेटा: '{संदेश: "संदेश", तात्कालिकता: "1"}',

+0

मुझे यह वही समस्या थी और यह पता चला कि आपको $ .ajax विधि में डेटा को जेसन ऑब्जेक्ट के रूप में नहीं बल्कि एक स्ट्रिंग के रूप में पास करना चाहिए .. मैट्स का जवाब स्पॉट पर है। –

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