我知道也有一些类似的问题,但它们对我没有帮助。 我在Scala Play Framework中这样做。我在下面发布我的代码:
var saveNameRequest;
function saveName(){
if(!saveNameRequest){
saveNameRequest=$.ajax({
type:"POST",
url:"edit?editType=saveName",
data: $("#nameForm").serialize(),
complete:function(){saveNameRequest=false},
success: function(data){
alert($("#nameForm").serialize())
}//end success
});
}
}
表单序列化无效,正在打印空字符串。 什么都没有通过帖子,请帮助
<form method="POST" name="nameForm" id="nameForm">
<tr>
<td><font color=#3b5999>First Name:</font></td>
<td><input type="text" name="fname" id="fname" value="@fName"></td>
</tr>
<tr>
<td><font color=#3b5999>Middle Name:</font></td>
<td><input type="text" placeholder="optional" name="mname" id="mname" value="@mName" ></td>
</tr>
<tr>
<td><font color=#3b5999>Last Name:</font></td>
<td><input type="text" name="lname" id="lname" value="@lName"></td>
</tr>
<tr>
<td></td>
<td><input name="save" id="save" type="button" value="save" onClick="saveName()"></td>
</tr>
</form>
答案 0 :(得分:2)
我发现表单序列化不适用于scala 2.10中的facebox 我们必须发送所有字段的数据,这是我得到的唯一解决方案,
data:{
"fname":document.getElementById("fname").value,
"mname":document.getElementById("mname").value,
"lname":document.getElementById("lname").value
}
答案 1 :(得分:1)
您尚未关闭saveName()
功能。关闭它后尝试。另外,请确保saveName()
在document.ready()
之外。
将一个键添加到ajax数据参数以发送序列化字符串,如下所示:
data: { formData: $("#nameForm").serialize() },
编辑fiddle,似乎有效