Javascript 未捕获的SyntaxError:尝试将数据传递给jquery变量时出现意外标记}
我正在尝试通过Javascript 未捕获的SyntaxError:尝试将数据传递给jquery变量时出现意外标记},javascript,jquery,Javascript,Jquery,我正在尝试通过onclick 有jquery函数: function handleit(cId, anotherId) { var campaingID = cId; var another = anotherId; var post = "action=remove&campaign_id=" + campaingID + "&anotherid=" + another; $.ajax({ type: "post", url: "aj
onclick
有jquery函数:
function handleit(cId, anotherId) {
var campaingID = cId;
var another = anotherId;
var post = "action=remove&campaign_id=" + campaingID + "&anotherid=" + another;
$.ajax({
type: "post",
url: "ajax/phphandler.php",
data: post,
cache: false,
success: function(html) {
$('#ready').html(html);
}
});
return false;
}
还有onclick
code
<td><input class="btn btn-default" type="submit" data='.$row2['campaign_id'].' value="submit" onclick="return handleit("'.$row2['campaign_id'].'","test")"></td>
呈现html
<td><input class="btn btn-default" type="submit" data=43 value="submit" onclick="return handleit(" 43","test")"></td>
问题在于,您的HTML最终看起来像:
<input class="btn btn-default" type="submit" data=foo value="submit"
onclick="return handleit("campaign_id","test")">
^ ^ ^ ^
如何实现这一点取决于您使用的服务器端语言,但可能涉及到转义引号:
<td>
<input class="btn btn-default" type="submit"
data="'.$row2['campaign_id'].'" value="submit"
onclick="return handleit(\''.$row2['campaign_id'].'\',\'test\')"
</td>
错误在哪里抛出?ajax/phphandler.php
返回什么?因为这是一个关于使用调试器的问题,它是离题的。发布实际的、呈现的HTML,而不是任何服务器端内容。@FelixKling它根本不返回任何内容,button不向任何人发送Post或任何内容jquery@squint这是一个好问题。但是没有解释语法错误。@FelixKling实际上解释了:这是由于JS引擎如何创建和计算侦听器对象而引发的错误。哦,对了,它将创建类似于function(){return handleit(}
。我讨厌内联事件处理程序…@FelixKling不确定这种行为是由规范定义的,还是仅仅是浏览器的一个怪癖。field
<td>
<input class="btn btn-default" type="submit"
data="'.$row2['campaign_id'].'" value="submit"
onclick="return handleit(\''.$row2['campaign_id'].'\',\'test\')"
</td>