js跨域post提交大量数量,如何实现。
做了一个评论系统,原则上只调用一段js就显示出完整的评论模块,但提交数据时遇到了跨库的问题。http://www.jicheke.com/a_test.html,这个多说评论系统。它是能实现的,请在大侠指点。
------解决方案--------------------如果你的提交地址B和调用地址A处于一个顶级域下,可以这样解决。
在B域下创建一个供别的页面iframe调用的页面,这里面可以只有JS函数供引用页面(父页面)调用。然后在调用页面和被调用页面都写一段JS代码(建议写在最开始处):document.domain = "顶级域名";
之后在调用页面就可以操作iframe了(可以给iframe一个ID),ID.函数(数据);然后在函数处理中使用AJAX-POST数据到B页面所在的域。
如果不在一个顶级域下,只能把所有需要操作显示的部分都弄到一个iframe里面在别处引用。
------解决方案--------------------自己做代理就行了,将你的信息提交到代理页面,然后代理页面负责post数据到跨域的页面
------解决方案--------------------数据量多大?太大了,干脆存一个xml文件,然后给url,让对面访问这个xml文件好了
------解决方案--------------------直接js不行,需要借助iframe。。
function xssPost(url,arg,postStr){
var de;
de=document.body.appendChild(document.createElement('iframe'));
de.src='about:blank';
de.contentDocument.write('<form method="POST" action="'+url+'"><textarea name="'+arg+'">'+postStr+'</textarea></form>');
de.contentDocument.forms[0].submit();
}
//xssPost('http://xxx.xxx.xxx/a.php','val','xxxxxxxxx');
//相当于提交http://xxx.xxx.xxx/a.php?val=xxxxxxxxx,只不过是POST访问的
------解决方案--------------------