Vì vậy, theo các tài liệu jQuery Ajax , nó tuần tự hóa dữ liệu dưới dạng chuỗi truy vấn khi gửi yêu cầu, nhưng cài đặt processData:false
sẽ cho phép tôi gửi JSON thực tế trong phần thân. Thật không may, tôi gặp khó khăn trong việc xác định đầu tiên, nếu điều này xảy ra và thứ 2 thì đối tượng trông như thế nào đang được gửi đến máy chủ. Tất cả những gì tôi biết là máy chủ không phân tích cú pháp những gì tôi đang gửi.
Khi sử dụng http client để đăng một đối tượng bằng chữ {someKey:'someData'}
, nó hoạt động. Nhưng khi sử dụng jQuery data: {someKey:'someData'}
, nó thất bại. Thật không may khi tôi phân tích yêu cầu trong Safari, nó nói rằng tải trọng thư là [object Object]
... tuyệt vời ... và trong Firefox bài viết trống ...
Khi đăng nhập nội dung cơ thể ở phía Java, nó thực sự có được [object Object]
như vậy, làm thế nào để người ta gửi dữ liệu JSON THỰC SỰ ??
Có ai có kinh nghiệm với dịch vụ Java tuần tự hóa dữ liệu JSON trong phần thân yêu cầu, với yêu cầu được gửi từ jQuery không?
BTW ở đây là yêu cầu $ .ajax đầy đủ:
$.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()
?