jquery没有传递值

时间:2010-07-08 02:43:35

标签: php jquery

我的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'值传递但不再使用。

电子邮件似乎是未传递的价值。

2 个答案:

答案 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()
}

尝试类似的东西,以便实际返回输入的值。