jquery ajax done 获取不到变量

$('#delete').on('click', function(e){

      var id = '123';

      // layer.confirm('确定删除吗?', {
      //     btn: ['确定','取消'] //按钮
      // }, function(){
          $.ajax({
              type: 'post',
              url: '/test', // 可以获取到id
              dataType: 'json'
          })
          .done(function(data){
              if(data.code === 1){
                  debugger // 获取不到id
                  layer.msg('删除成功', {icon: 1});
              }else{
                  layer.msg('删除失败', {icon: 1});
              }
          })
          .fail(function(err){
              layer.msg('删除失败', {icon: 1});
          })
      // })

    })
    

如上所示,debugger那里获取不到id,是为什么呢?有没有好的解决办法?谢谢~

阅读 5k
2 个回答
$('#delete').on('click', function(e){
        var id = '123';
        $.ajax({
            type: 'post',
            url: '/test', // 可以获取到id
            dataType: 'json',
            data:{
                id:id
            }
        })
        .done(function(data){
            if(data.code === 1){
                debugger // 获取不到id
                layer.msg('删除成功', {icon: 1});
            }else{
                layer.msg('删除失败', {icon: 1});
            }
            })
            .fail(function(err){
                layer.msg('删除失败', {icon: 1});
        })

谢邀。

代码没有看出问题,获取自定义id可以直接获取。检查一下你返回的data数据,是不是正确的格式,是不是正确的数据。


更新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进