最近我意识到我需要使用
easyXDM而不是jQuery的$.ajax来进行跨域发布请求.在设置easyXDM之后,我发现这些功能非常接近:
jQuery的:
$.ajax({ url: "/ajax/",method: "POST",data: myData });
easyXDM:
xhr.request({ url: "/ajax/",dataType: 'json',// I added this trying to fix the problem,didn't work data: myData });
myData设置如下:
myData = {}; myData[1] = 'hello'; myData[2] = 'goodbye'; myData[3] = {}; myData[3][1] = 'sub1'; myData[3][2] = 'sub2'; myData[3][3] = 'sub3';
当我使用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/",data: {jsonData: JSON.stringify(myData)} });
或者,您可以创建自己的postMessage解决方案,但是您将排除IE7及以下版本.
原文地址:https://www.jb51.cc/ajax/159981.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。