我想通过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
并尝试使用JSLint和JSHint进行调试。我还检查了我的PHP后端,如果我用https://randomlink.php?qq=stuff&xxx=stuff2
之类的东西手动访问它,它就可以完美地工作。
每当我进行某些更改以防止加载旧代码时,我甚至会清除缓存。我只是不明白有什么问题。谁能帮我?我是否太盲目看不到明显的东西?
答案 0 :(得分:0)
好的,显然我在代码的错误一侧搜索。该函数中没有错误,原因在于将值从PHP
传递到JS
。如果值之一是字符串,例如电子邮件地址,则需要用引号引起来。
我通过添加按钮来解决了这个问题:
echo"<input onClick='randomfunction(\"$qq\", $xxx);'>";
参考: How do I pass a PHP string into a Javascript function call?