现在的位置: 首页 > 综合 > 正文

js跨域post参数并控制当前页面显示

2013年08月09日 ⁄ 综合 ⁄ 共 525字 ⁄ 字号 评论关闭

ajax可以post参数,但是不可以跨域
用script标签的src属性;Image对象的src属性 可以跨域,但是又只能get参数
所以要用js跨域只有两种方法:
1. 本域代理:ajax向本域下某个文件post参数,这个文件再和别的域下的文件进行交互
2. iframejs动态生成一个隐藏的iframe,在这个iframe中动态插入一个form,用js向另一个域下的文件提交这个form,接收提交的文件,输出js,js中使用parent来操作当前页面的dom对象
最近做一个投票系统,有一个题库,可以在别的系统调用这个题库,并把这些题展示给用户,题型包括单选,多选和问答。在别的系统向投票系统提交投票结果的时候,因为两个系统可能不在同一个域下,所以要支持跨域提交,又因为问答题的答案可能很长,超过url长度限制,所以要用post方式。为了让这种跨域的post提交在用户不知觉的情况下进行,需要使用js来实现。js跨域post提交,有本域代理和iframe两种方法。本域代理的方法实现起来比较复杂,而且如果展示投票接口的系统变化的时候,需要在新的系统中编写代理。iframe的方法有很好的复用性。但是post参数的构造过程完全可见,怕黑客循环提交进行攻击。

抱歉!评论已关闭.