织梦ajax跨域提交自定义表单

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获取便可

4、把获取到的表单项目拼接成一个字符串

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)