参数列表后未捕获到的SyntaxError:缺少)-通过AJAX

时间:2020-08-05 10:31:03

标签: jquery ajax

我想通过AJAX发送两个值。

我的jQuery函数(在整个页面上使用单个值都可以正常工作):

function randomfunction(qq, xxx)
  {
      jQuery.ajax({
       type: "POST",
       url: "https://someurl.php",
       data: "qq="+qq+"&qqq="+xxx,
       cache: false,
       success: function(data)
       {
         jQuery("#stuff"+id).html(data);
       }
     });
 }

我的输入触发它:

echo"<input class='inputbutton' style='width: 122px!important;' type='button' id='button_id' value='Anfordern' onClick='randomfunction($qq, $xxx);'>";

我在页面上使用单个值的这种类型的设置,效果很好。 现在,我开始使用2,它总是给我错误Uncaught SyntaxError: missing ) after argument list

我已经检查并尝试了以下解决方案:

I want to pass two parameters in onclick, one is a function & another is a div id

How to send multiple data fields via Ajax?

data: {qq: qq, xxx: xxx},

SyntaxError: missing ) after argument list

JavaScript: SyntaxError: missing ) after argument list

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Missing_parenthesis_after_argument_list

并尝试使用JSLintJSHint进行调试。我还检查了我的PHP后端,如果我用https://randomlink.php?qq=stuff&xxx=stuff2之类的东西手动访问它,它就可以完美地工作。

每当我进行某些更改以防止加载旧代码时,我甚至会清除缓存。我只是不明白有什么问题。谁能帮我?我是否太盲目看不到明显的东西?

1 个答案:

答案 0 :(得分:0)

好的,显然我在代码的错误一侧搜索。该函数中没有错误,原因在于将值从PHP传递到JS。如果值之一是字符串,例如电子邮件地址,则需要用引号引起来。 我通过添加按钮来解决了这个问题:

echo"<input onClick='randomfunction(\"$qq\", $xxx);'>";

参考: How do I pass a PHP string into a Javascript function call?