怎样拼接post数据比较舒服?

//提交保存
$('.j-submit').on('click',function () {

    var tab = $('.am-active').attr('id');
    
 var prize_name = $("#prize-panel-" + tab + " input[name='prize_name']").val();   //奖品标题名字
 var prize_imgurl = $("#prize-panel-" + tab + " input[name='prize_imgurl']").val(); //奖品图片地址
 var prize_rank = tab;                                                             //奖品所在圆盘格子的位置
 var prize_percent = $("#prize-panel-" + tab + " input[name='prize_percent']").val(); //奖品获奖概率
 var prize_goods_id = $("#prize-panel-" + tab + " input[name='prize_goods_id']").val(); //奖品商品id
 
 var data = 'prize_name='+prize_name+'&prize_imgurl='+prize_imgurl+'&prize_rank='+prize_rank;
    data += '&prize_percent='+prize_percent+'&prize_goods_id='+prize_goods_id;
    $.ajax({
        //请求方式
 type : "POST",
        //请求的媒体类型
 contentType: "application/x-www-form-urlencoded",
        //请求地址
 url : "http://127.0.0.1/admin/list/",
        //数据,json字符串
 data : data,
        //请求成功
 success : function(result) {
            console.log(result);
        },
        //请求失败,包含具体的错误信息
 error : function(e){
            console.log(e.status);
            console.log(e.responseText);
        }
    });
});

怎样能方便拼接post字符串?这种太恶心了。当前页没有form表单这个标签。

阅读 2.1k
2 个回答

你只要传data对象就行了,jquery会根据contentType帮你处理成表单的

额,实在想到你为要这样拼接,如果你是需要把传统表单转成 jQuery 的形式,其实 jQuery 有个 serialize 方法,可以把表单进行序列化,自动拼接完成,使用起来就像下面这样。

const data = $('form').serialize();
// 现在你可以打印一下 data 的值
console.log(data)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题