织梦dedecms跨域怎么提交自定义表单

时间:2021-08-23
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('预约成功!')
            }
        })
 
上一条:织梦dedecms会员中心自定义图片字段上传后无法选中问题 下一条:织梦dedecms上传附件不自动改名的办法

相关文章

最新文章