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

织梦教程 强烈建议 2024-02-26 11:12 114 0

  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('预约成功!')

  }

  })

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!