经过多次失败后,我发现我不能在jquery的post方法中使用带连字符的paremeter名称,如下所示:
$.post("/test",
{
subject: $('#subject').val(),
email: $('#email').val(),
message: $('#message').val(),
g-recaptcha-response = $('#g-recaptcha-response').val()
}
“g-recaptcha-response”与Google Recaptcha有关,因此命名不在我的手中。有没有办法在这种情况下发送带连字符的参数?
虽然还有其他方法可以解决此限制,例如提交表单,但我很好奇我是否可以这样发送。
答案 0 :(得分:2)
这与jQuery无关。这是javascript。
所以请改用'g-recaptcha-response'
:
$.post("/test", {
subject: $('#subject').val(),
email: $('#email').val(),
message: $('#message').val(),
'g-recaptcha-response': $('#g-recaptcha-response').val()
}
另请注意,它应该与:
一样:
'g-recaptcha-response': $('#g-recaptcha-response').val()
而不是=
,因为你的代码片段中包含它:
'g-recaptcha-response' = $('#g-recaptcha-response').val()