我们经常ajax提交表单的时候,会将form对象serialize()序列化,然后通过ajax请求提交给后台!
以下是网友提交的代码片段:
//网友:
- $().ready(function(){
- $("form").submit( function () {
- alert($(this).serializeArray());
- });
- });
- <form id="form" class="form-signin" role="form">
- <h2 class="form-signin-heading">Please sign in</h2>
- <input type="email" class="form-control" placeholder="Email address" required autofocus value="hehe@qq.com"/>
- <input type="password" class="form-control" placeholder="Password" required />
- <p class="checkbox">
- <label>
- <input type="checkbox" value="remember-me"/> Remember me
- </label>
- </p>
- <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
- </form>
|
通过以上代码可以看出,为什么通过jquery的serializeArray()返回空值?
原因:没有给form中相关input加上字段的name属性。加上name属性即可解决!
说明:serialize()方法可以将form里的字段内容序列化成一个类似“webname=久久经验网&url=https://www.exp99.com”的字符串,用于ajax请求。