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 1
你本来就只传给 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
明白
|