Gần đây tôi nhận ra rằng tôi cần sử dụng easyXDM thay vì số $.ajax
của jQuery để thực hiện yêu cầu đăng tên miền chéo. Sau khi nhận được easyXDM thiết lập tôi thấy rằng các chức năng xếp hàng khá chặt chẽ:Làm cách nào để gửi một đối tượng/mảng javascript dưới dạng cặp khóa-giá trị thông qua một bài đăng AJAX với easyXDM?
jQuery:
$.ajax({
url: "/ajax/",
method: "POST",
data: myData
});
easyXDM:
xhr.request({
url: "/ajax/",
method: "POST",
dataType: 'json', // I added this trying to fix the problem, didn't work
data: myData
});
myData là thiết lập một cái gì đó như:
myData = {};
myData[1] = 'hello';
myData[2] = 'goodbye';
myData[3] = {};
myData[3][1] = 'sub1';
myData[3][2] = 'sub2';
myData[3][3] = 'sub3';
Khi tôi thực hiện yêu cầu với jQuery, nó xử lý các trường con đúng cách, nhưng không phải với easyXDM.
Sau đây là cách yêu cầu POST đi vào máy chủ với jQuery:
screenshot-with-shadow.png http://img37.imageshack.us/img37/4526/screenshotwithshadow.png
Và đây là cách nói với easyXDM:
screenshot-with-shadow.png http://img204.imageshack.us/img204/4526/screenshotwithshadow.png
Làm thế nào tôi có thể gửi một đối tượng javascript/mảng của các cặp khóa-giá trị thông qua một yêu cầu easyXDM/XHR như jQuery không?
Từ tài liệu: "Nếu không đặt easyXDM sẽ cố gắng sử dụng đối tượng JSON gốc", vì vậy trừ khi bạn ghi đè bộ nối tiếp thì đối tượng của bạn sẽ xuất hiện như bạn mong đợi? Có lẽ loại ép buộc đang xảy ra ở đâu đó trong mã trước của bạn? – robC
Có vẻ như đây có thể là vấn đề với easyXDM. Có vẻ như trong tệp cors/index.html, nó sẽ thử và tuần tự hóa dữ liệu mà không kiểm tra xem liệu nó đã là một chuỗi chưa và nó dường như không xử lý mã hóa JSON đa cấp ... https: // github. com/oyvindkinsey/easyXDM/issues/199 – cwd
@robC - liên quan đến nhận xét đã bị xóa của bạn Tôi nghĩ rằng đây là vấn đề với easyXDM - hãy xem http://pastebin.com/0eusK2vr – cwd