serialize()方法:
作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <script type="text/javascript" src="../../js/jquery-2.1.3.js"></script> <style> * { margin:0; padding:0;} body { font-size:12px;} .comment { margin-top:10px; padding:10px; border:1px solid #ccc;background:#DDD;} .comment h6 { font-weight:700; font-size:14px;} .para { margin-top:5px; text-indent:2em;background:#DDD;} </style> <title></title> </head> <body> <form id="form1" action="#"> <p>评论:</p> <p>姓名: <input type="text" name="username" id="username" /></p> <p>内容: <textarea name="content" id="content" rows="2" cols="20"></textarea> </p> <p><input type="button" id="send" value="提交"></p> </form> <div class="comment">已有评论:</div> <div id="resText"></div> </body> <script type="text/javascript"> $(function () { $("#send").click(function () { //这种方式在只有少量的字段的表单中,勉强还可以使用,但如果表单元素越来越复杂,使用这种方式在增大工作量的同时 //也使表单缺乏弹性。jQuery为这一常用操作提供了一个简化的方法----serialize() // $.get("get1.jsp", { // username: encodeURI($("#username").val()), // content: encodeURI($("#content").val()) // }, function (data, textStatus) { // $("#resText").html(decodeURI(data)); // }); //serialize()方法作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求。 $.get("get1.jsp", $("#form1").serialize(), function (data, textStatus) { $("#resText").html(data); }) }); /** * 因为serialize()方法作用于jQuery对象,所以不光只有表单能使用它,其他选择器选取的元素也都能使用它,如以下jQuery代码: * $(":checkbox,:radio").serialize(); * 把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化 * * * serializeArray()方法 * 该方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据。 * * * $.param()方法。它是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。 * * 例如: * var obj = {a:1, b:2, c:3}; * var k = $.param(obj); * alert(k);//输出a=1&b=2&c=3 * * */ }) </script> </html>
Ajax全局事件:
方法名称 | 说明 |
ajaxComplete(callback) | Ajax请求完成时执行的函数 |
ajaxError(callback) | Ajax请求发生错误时执行的函数,捕捉到的错误可以作为最后一个参数传递 |
ajaxSend(callback) | Ajax请求发送前执行的函数 |
ajaxSuccess(callback) | Ajax请求成功时执行的函数 |