1

我正在尝试使用 FOSUserBundle 通过 AJAX 注册用户。

问题是表单中的名称值fos_user_registration_form_[username]不被 javascript 接受为数组。

<input type="text" id="fos_user_registration_form_username" name="fos_user_registration_form[username]" required="required" />

我该如何解决?

我可以将 FOSUserBUndle 中的 name 参数更改为fos_user_registration_form_username吗?

如何fos_user_registration_form_[username]在 Javascript 中创建具有值的数组?

$("#registerButton").click( function(){

             data = {
                 fos_user_registration_form_[username]:$("#name").val(), // HERE IS WHERE IT CRASHES, IN THE [username] field.
                 fos_user_registration_form_[email]:$("#email").val(),
                 fos_user_registration_form_[plainPassword]:$("#password").val(),
             };

             $.ajax({
                    type: "POST",
                    url: serviceURL,
                    asyn:false,
                    data: data,
                    dataType: "json",
                    success: function(res) {

                        alert("success"); // JUST FOR TEST

                    }
              }); 

我正在测试一个基本示例..

这有效(触发警报)

<script type="text/javascript">
        data = {
            fos_user_registration_form_username:"blabla"
        };
        alert(true);
</script>

这不起作用:(不要触发警报)

<script type="text/javascript">
        data = {
            fos_user_registration_form_[username]:"blabla"
        };
        alert(true);
</script>
4

1 回答 1

0

要从输入字段中获取数据,您需要将name_of_the_form_+ 与name_of_the_field. 例如:

fos_user_registration_form_+ username =>fos_user_registration_form_username


data = {
fos_user_registration_form[username]:$("#fos_user_registration_form_username").val(), 
fos_user_registration_form[email]:$("#fos_user_registration_form_email").val(),
fos_user_registration_form[plainPassword]:$("#fos_user_registration_form_plainPassword").val(),
};
于 2013-02-06T11:30:56.150 回答