ajax传值命名冲突问题

提问 已结 18 281
ScreenName
ScreenName 2019-4-19
悬赏:20飞吻
版本:layui 浏览器:

代码贴在如上,就是操作按钮点data: { gid: data.Id },有两个方法都写了 获取不到gid这个值,layui是怎么处理的
回帖
  • msgsys
    2019-4-19
    @ScreenName 按理 不在同个ajax,不会存在冲突的
    0 回复
  • ScreenName
    2019-4-19
    如果注释掉下面那个方法的gid就能正常使用,上面的那个方法就能正常使用,是不是命名冲突的问题啊?
    0 回复
  • 应该是你的代码问题吧。跟框架应该问题不大吧
    0 回复
  • msgsys
    2019-4-19
    你下面的方法里面,都没有data,哪来的data.id?你这是行工具栏还是头部工具栏?
    0 回复
  • @Alose 大佬NB,一下就看到问题了
    0 回复
  • IDyun
    2019-4-19
    一个JS文件中,写一个use即可。
    0 回复
  • ScreenName
    2019-4-19
    @Alose 上面写了data的 操作栏
    0 回复
  • ScreenName
    2019-4-19
    @IDyun table.on('tool(useruv)', function (obj) {
    var data = obj.data;
    if (obj.event === 'detail') {
    layer.confirm('确认提交?', function (index) {
    console.log(data);
    $.ajax({
    url: "/CreateOrder/commitConfirm",
    type: "POST",
    data: { gid: data.Id },
    dataType: "text",
    success: function (data) {
    if (data.state == 1) {
    obj.del();
    layer.close(index);
    layer.msg("。。。。", { icon: 6 });
    } else {
    layer.msg("提交成功", { icon: 5 });
    }
    }
    });
    });
    }
    var data = obj.data;
    if (obj.event === 'edit') {
    layer.open({
    type: 1,
    title: false,
    closeBtn: 1,
    title: '实际保函费用修改',
    area: ['400px', '200px'],
    offset: 'auto',
    btnAlign: 'c',
    shade: 0.3,
    shadeClose: true,
    content: '<div style="text-align:center;font-size:15px;color:#6d7895;"><div class="layui-inline" style="padding: 30px 0px 0px 0px;"><label class="layui-form-label">保函费用:</label><div class="layui-input-inline"><input class="layui-input test-item" id="money" name="money" placeholder="请输入需要修改的保函费"></div></div><button class="confirm">确认</button></div>',
    });
    }
    $(document).off('click').on('click', '.confirm', function () {
    var money = $("#money").val();
    if (money == '') {
    alert("请输入需要修改的保函费");
    return;
    }
    $.ajax({
    type: "post",
    url: "/CreateOrder/reviseConfirm",
    dataType: "text",
    async: true,
    data: {
    gid: data.Id,
    money: $('#money').val(),
    },
    success: function (res) {
    if (res == "ok") {
    layer.closeAll(),
    table.reload("rechargeTable", { //此处是上文提到的 初始化标识id
    where: {
    gid: data.Id ,
    money: $('#money').val(),
    }, page: {
    curr: 1
    }
    });
    }
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
    console.log('异常');
    }
    });
    })

    });
    我只是写在一个方法里 把第二个gid: data.Id 注释掉,第一个方法就能运行 ,不然gid传值传不到后台。
    把第一个注释掉,第二个也能获取到。
    0 回复
  • msgsys
    2019-4-19
    @ScreenName 那你下面那个方法,都是在table.on方法里面吗?
    0 回复
  • ScreenName
    2019-4-19
    @Alose 是的
    0 回复