我想通過使用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