Ste*_*own 8 javascript ajax jquery json xmlhttprequest
最近我意识到我需要使用easyXDM而不是jQuery $.ajax
来进行跨域发布请求.在设置easyXDM后,我发现这些功能非常接近:
jQuery的:
$.ajax({
url: "/ajax/",
method: "POST",
data: myData
});
Run Code Online (Sandbox Code Playgroud)
easyXDM:
xhr.request({
url: "/ajax/",
method: "POST",
dataType: 'json', // I added this trying to fix the problem, didn't work
data: myData
});
Run Code Online (Sandbox Code Playgroud)
myData设置如下:
myData = {};
myData[1] = 'hello';
myData[2] = 'goodbye';
myData[3] = {};
myData[3][1] = 'sub1';
myData[3][2] = 'sub2';
myData[3][3] = 'sub3';
Run Code Online (Sandbox Code Playgroud)
当我使用jQuery发出请求时,它正确处理子字段,但不使用easyXDM.
以下是POST请求如何通过jQuery进入服务器:
screenshot-with-shadow.png http://img37.imageshack.us/img37/4526/screenshotwithshadow.png
以下是easyXDM的用法:
screenshot-with-shadow.png http://img204.imageshack.us/img204/4526/screenshotwithshadow.png
如何通过像jQuery这样的easyXDM/XHR请求发送javascript对象/键值对数组?
鉴于评论中讨论的 easyXDM 的局限性,使用它的唯一方法是将数据传递给 .request 时手动序列化数据,即
xhr.request({
url: "/ajax/",
method: "POST",
data: {jsonData: JSON.stringify(myData)}
});
Run Code Online (Sandbox Code Playgroud)
或者,您可以创建自己的 postMessage 解决方案,但您将排除 IE7 及更低版本。
归档时间: |
|
查看次数: |
14960 次 |
最近记录: |