अनुरोध शरीर में jQuery पोस्टिंग वैध जेसन पोस्टिंग



ajax json (1)

तो jQuery अजाक्स दस्तावेज़ों के अनुसार, यह अनुरोध भेजते समय क्वेरी स्ट्रिंग के रूप में डेटा को क्रमबद्ध करता है, लेकिन प्रक्रिया को सेट करना processData:false मुझे शरीर में वास्तविक JSON भेजने की अनुमति देनी चाहिए। दुर्भाग्य से मुझे पहले का निर्धारण करने में कठिनाई हो रही है, अगर यह हो रहा है और दूसरा ऑब्जेक्ट ऐसा लगता है जो सर्वर पर भेजा जा रहा है। मुझे पता है कि सर्वर जो मैं भेज रहा हूं उसे पार्स नहीं कर रहा हूं।

किसी ऑब्जेक्ट को शाब्दिक {someKey:'someData'} पोस्ट करने के लिए http क्लाइंट का उपयोग करते समय, यह काम करता है। लेकिन जब data: {someKey:'someData'} साथ jQuery का उपयोग करते हैं data: {someKey:'someData'} , यह विफल रहता है। दुर्भाग्यवश जब मैं सफारी में अनुरोध का विश्लेषण करता हूं, तो यह कहता है कि संदेश पेलोड [object Object] ... महान ... और फ़ायरफ़ॉक्स में पोस्ट खाली है ...

जावा पक्ष पर बॉडी सामग्री लॉगिंग करते समय यह सचमुच [object Object] करता है तो कोई वास्तविक JSON डेटा कैसे भेजता है ??

क्या किसी को jQuery से भेजे गए अनुरोध के साथ, अनुरोध निकाय में JSON डेटा क्रमबद्ध करने वाली जावा सेवा के साथ अनुभव हुआ है?

यहां बीटीडब्ल्यू पूर्ण $ .ajax अनुरोध है:

$.ajax({
    contentType: 'application/json',
    data: {
        "command": "on"
    },
    dataType: 'json',
    success: function(data){
        app.log("device control succeeded");
    },
    error: function(){
        app.log("Device control failed");
    },
    processData: false,
    type: 'POST',
    url: '/devices/{device_id}/control'
});

एक वास्तविक JSON अनुरोध इस तरह दिखेगा:

data: '{"command":"on"}',

आप एक वास्तविक JSON स्ट्रिंग कहां भेज रहे हैं। अधिक सामान्य समाधान के लिए, जेएसओएन को ऑब्जेक्ट को क्रमबद्ध करने के लिए JSON.stringify() का उपयोग करें, इस तरह:

data: JSON.stringify({ "command": "on" }),

पुराने ब्राउज़र का समर्थन करने के लिए जिनके पास JSON ऑब्जेक्ट नहीं है, json2.js उपयोग json2.js जो इसे जोड़ देगा।

वर्तमान में क्या हो रहा है क्योंकि आपके पास processData: false है processData: false , यह मूल रूप से यह भेज रहा है: ({"command":"on"}).toString() जो [object Object] ... जो आप अपने अनुरोध में देखते हैं।





xmlhttprequest