我想通过使用FOSUserBundle的AJAX注册用户。Ajax注册FOSUserBundle
问题是表单中的名称值是fos_user_registration_form_[username]
,所以它不被javascript接受为数组。
<input type="text" id="fos_user_registration_form_username" name="fos_user_registration_form[username]" required="required" />
我该如何解决这个问题?
我可以更改FOSUserBUndle中的名称参数为fos_user_registration_form_username
吗?
如何在Javascript中创建一个具有fos_user_registration_form_[username]
值的数组?
$("#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>
这不是'fos_user_registration_form_ [用户名]''但fos_user_registration_form [用户名]'。 并使用http://api.jquery.com/serialize/提取表单值,它处理所有事情。 – Damien
你是什么意思?序列化数据数组? – nasy