我的HTML格式:
<input id="captcha_response" name="captcha_response" type="text" value="" size="5" maxlength="5">
<div class="new_comment"><input id="comment" name="comment" type="text" value="your comment here..."></div>
<div class="author"><input name="name" type="text" value="your name"></div>
<div class="email"><input name="email" type="text" value="email"></div>
我的jquery:
$.ajax({
type: "GET",
url: "ajax/check_captcha.php",
data: ({ captcha : captcha , comment:comment , name:name, email:email }), dataType: "json", success: function(data)
{
这会在firebug中返回一个“不够的参数”错误。
它正在使用'captcha'值传递但不再使用。
电子邮件似乎是未传递的价值。
答案 0 :(得分:2)
尝试删除数据中的两个(
和)
,就像这样
data: { captcha : captcha , comment:comment , name:name, email:email },
如果您的html输入位于<form>
标记上,则使用.serialize()会更容易,并让jquery获取所有数据,...
data: $('#fomID').serialize(),
// this will build something like
// "captcha=captchaData&comment=newComment&name=name&email=email@email.en"
答案 1 :(得分:0)
你说他们是表格名字?然而,你有没有把它们定义为变量。无法分辨,因为您没有显示脚本的其余部分。
data: {
captcha : $("input[name='captca_response']").val(),
comment : $("input[name='comment']").val(),
name : $("input[name='name']").val(),
email: $("input[name='email']").val()
}
尝试类似的东西,以便实际返回输入的值。