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

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:'自己的域名/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('预约成功!')

            }

        })
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgjpx.html