ดังนั้นตามเอกสาร jQuery Ajaxมันทำให้ข้อมูลในรูปแบบของสตริงแบบสอบถามเมื่อส่งคำขอ แต่การตั้งค่าprocessData:false
ควรอนุญาตให้ฉันส่ง JSON จริงในร่างกาย น่าเสียดายที่ฉันมีเวลาที่ยากลำบากในการพิจารณาก่อนหากสิ่งนี้เกิดขึ้นและครั้งที่ 2 สิ่งที่วัตถุดูเหมือนว่าจะถูกส่งไปยังเซิร์ฟเวอร์ ทั้งหมดที่ฉันรู้คือเซิร์ฟเวอร์ไม่ได้แยกวิเคราะห์สิ่งที่ฉันส่ง
เมื่อใช้ไคลเอนต์ httpเพื่อโพสต์วัตถุตามตัวอักษร{someKey:'someData'}
มันทำงาน แต่เมื่อใช้ jQuery ด้วยdata: {someKey:'someData'}
จะล้มเหลว น่าเสียดายที่เมื่อฉันวิเคราะห์คำขอใน Safari มันบอกว่าเพย์โหลดข้อความเป็น[object Object]
... ยอดเยี่ยม ... และใน Firefox โพสต์นั้นว่างเปล่า ...
เมื่อทำการบันทึกเนื้อหาของร่างกายทางฝั่ง Java มันจะได้รับอย่างแท้จริง[object Object]
ดังนั้นวิธีหนึ่งส่งข้อมูล REAL JSON?
มีใครเคยมีประสบการณ์กับบริการ Java ข้อมูลอนุกรม JSON ในเนื้อหาคำขอกับคำขอส่งจาก jQuery?
BTW นี่คือคำขอ $ .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.stringify()
?