欢迎光临
我们一直在努力

织梦cms:跨域提交自定义表单的解决办法

1、在织梦文件中找到/plus/diy.php文件,顶部加上跨域请求代码:

header('Access-Control-Allow-Origin:*');  //支持全域名访问,不安全,部署后需要固定限制为客户端网址
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); //支持的http 动作
header('Access-Control-Allow-Headers:x-requested-with,content-type');  //响应头 请按照自己需求添加。

2、js定义织梦必须提交的项目:

var action = 'post'; // 定义提交的方式
var diyid = 1; // 织梦自定义表单的id
var doval = 2; // 织梦自定义表单的请求的返回形式
var dede_fields = 'name,text;age,text;gh_time,text;yy_time,text;tel,text;sex,radio;weixin,text;qq,text;gh_ks,select;gh_ys,select;url,text;bqms,multitext;gh_bz,text'; // 织梦自定义表单的请求项目
var dede_fieldshash = 'e11e1cee652693e0188becb92646e853'; // 织梦自定义表单的哈希编码 
ps:其他html的根据织梦自定义表单请求的项目通过js获取便可
3、把获取到的表单项目拼接成一个字符串:
var datastr = 'action='+action+'&diyid='+diyid+'&do='+doval+'&dede_fields='+dede_fields+'&dede_fieldshash='+dede_fieldshash;

4、AJAX的设置,这里用jQuery:

$.ajax({
           url:'http://自己的域名/plus/diy.php', 
           data:datastr,
            type:'POST',
            contentType:'application/x-www-form-urlencoded; charset=utf-8', // 必须设置,与接收数据后台编码保持一致
            header:{
              Accept: "multipart/form-data; charset=utf-8" // 与接收数据后台编码保持一致
            },
            success:function(data){
                $('[type="submit"]')[0].disabled=true;
                alert('预约成功!')
            }
        })

未经允许不得转载:云站友 » 织梦cms:跨域提交自定义表单的解决办法

评论 抢沙发

评论前必须登录!

立即登录   注册