Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的SyntaxError:尝试将数据传递给jquery变量时出现意外标记}_Javascript_Jquery - Fatal编程技术网

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>