
html:
<button data="'1','2','3'"><button> js:
$("button").click(function(){ var abc = $(this).attr("data"); ajax(abc); }); function ajax(biao,class,id){ $.ajax({ type: "post", url: url, data:{'biao':biao, 'class':class, 'id':id} dataType: "html", success: function () { alert("成功"); } }); } ajax 出现了问题,在 chrome 中观察请求头正常情况下应该是:
biao :'1' class:'2' id:'3' 但是现在出现如下这个现象
biao:'1','2','3' 也就是说, data 的数据全部给了 biao 了,这是什么原因呢?
1 Mikewu 2017-04-10 16:11:58 +08:00 你本来就只传给 ajax 有一个参数 biao: "'1','2','3'",将 abc 切割一下吧 var abc = $(this).attr("data").split(","); ajax(abc[0], abc[1], abc[2]); |
2 chairuosen 2017-04-10 16:13:50 +08:00 1 原因。看 jQuery 文档 attr 返回什么, js 文档函数参数如何传递。 2 解决方案, data-something="[1,2,3]"; var abc = $(this).data('something'); ajax.apply(null,abc) 应该就可以了 |
3 otakustay 2017-04-11 13:36:33 +08:00 ajax.apply(null, abc.split(',')) |
4 zyzzzz 2017-06-07 20:43:19 +08:00 mark 一下,学习 |
5 swuhvxee OP 第一个和第二个是对的,你可以参考 |
6 zyzzzz 2017-06-07 20:47:47 +08:00 明白 |