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 に答える