layui ajax传参的data类型

前台layui table组件,后台是PHP,监听btn-submit按纽传递数据交互

一般用ajax传参时,其语法为

form.on(‘submit(add)’,function(data){
// console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
// console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
layer.msg(JSON.stringify(data.field));
$.ajax({
url: ‘./addone.php’,
type: ‘POST’,
data: {dataj:data.field},  //此时POST的是dataj
dataType:‘json’,
success:function(data){
//这里获取到数据执行显示
if (data.result == 1){
layer.msg(“入库提交成功”);
}
if (data.result == 0){
layer.msg(“出现异常”);
}
layer.closeAll(‘iframe’);

}});

注意红色部分,此时data,field是数组,在POST时使用的数据名是dataj。

这样后台PHP可使用$_POST[‘dataj’]来获取ajax传递的数组参数。

 

有时候传递的是json,一般字符串化后,在PHP后台再转化为json,便于使用。

用json字符串后传参,则上方data部分需修改为

$dataj = JSON.stringify(data.field);//先赋值

data: {“dataj”:$dataj} //然后修改ajax中的data段

后台接收转化为json则如下

$dataj= json_decode($_POST[‘dataj’],TRUE); //参数true则转为数组,

$dataj= json_decode($_POST[‘dataj’]); //转为json对象

发表评论

电子邮件地址不会被公开。 必填项已用*标注