這篇文章主要的講述了關於ajax的使用總結說明,還有ajax的配置、呼叫、中文亂碼、表單提交等等詳細解釋,現在我們一起來看這篇文章吧
·jquery的使用
0、必須優先引入jquery.js 否則無法調用jquery框架
1、js區分大小寫,起名字的時候要注意
2、 jquery依據p的id屬性取得頁面text的值:$("#demoID").val(),依據class屬性取得頁面text的值$(".demoCLASS").val(),如果是賦值$(" #demoID").val("賦值的參數")
3、$(document).ready(function(){代碼})、$().ready(function(){代碼})、$(function (){代碼})的意思一樣
4、多個$(function(){代碼})可以並存,即只要名字不重複可以同時發揮作用
5、$(function(){代碼} )的意思是頁面載入完畢即運行,例如自動點擊,自動彈框,再或點選監聽或其他監聽
6、載入完即點擊和「點選的監聽」的差別(非常有借鏡意義)
例如現在有一個js方法,function demoFunction(){alert("這個方法運行了");};
載入完即點擊:$("#demoid").click(demoFunction());
載入完後即監聽,這個方法只能是在按鈕有click這個動作,或是透過jquery有click()動作:$("#demoid").click(function(){demoFunction()});
7、如果是自動載入即執行的,或是需要被監聽的都需要放置到$(document).ready(function(){代碼})的程式碼中
8、window.onload=function(){程式碼}與$(function(){程式碼})的差異
·呼叫函數的用法不同:
window.onload = function(){代碼};
$(function(){代碼})
·呼叫函數的時間不同
window.load=function(){程式碼}:必須等待網頁中所有的內容載入完畢(包括圖片)才能執行,例如要運用上傳等功能。
$(function(){代碼}),等到網頁中所有的DOM結構繪製完畢後才可以執行。
9、AJAX專題
·需要的jar包:commons-lang-2.5.jar、commons-lang3-3.1.jar、javassist-3.11.0.GA.jar## · · 為了簡化流程,寫成頁面載入即執行
$(document).ready(function(){
$.ajax({
url : "testajax.do",// 请求地址 //timeout : 600000,//超时时间设置,单位毫秒 async : false,// 异步 cache : false,// 缓存 type : 'post',// 请求方式 data: {"name":"123"},//data: $('#formid').serialize(),//序列化表单-当触发一个form表单提交的ajax事件的时候,这个序列化方法自动将数据转化为json格式传递给后台 dataType : 'json',// 服务器返回的数据类型 success : function(msg) {// 请求成功后调用的 alert("返回json的实验成功了"+" msg.resultcode="+msg.resultcode+" msg.name="+msg.name); }, error :function(){ alert("异常"); } }); });# ·struts.xml檔案的寫入法
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--略去一些struts2的配置信息--> <package name="myajax" extends="json-default" namespace="/"> <global-results> <result name="message" type="json"> <param name="root">message</param> </result> </global-results> <action name="*" class="demo.action.AjaxTest" method="{1}"> <result name="list">/index.jsp</result> </action> </package> <!-- 包含的其他配置文件 --> <include file="struts-method.xml"></include> </struts>·後台java程式碼:僅距離呼叫ajax,故不涉及資料庫操作
import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; public class AjaxTest { protected Map<String, Object> message = new HashMap<String, Object>(); /** AJAX请求返回RESULT的name常量*/ protected final static String MESSAGE = "message"; public Map<String, Object> getMessage() { return message; } public void setMessage(Map<String, Object> message) { this.message = message; } //-登录页面中form表单提交的路径 public String testajax() throws IOException{ System.out.println("获取参数name="+ServletActionContext.getRequest().getParameter("name")); message.put("resultcode", "0000"); message.put("resultcode", "0001"); message.put("name", "zhong文ce试"); return MESSAGE; } }
·ajax的應用之提交form表單資料-表單資料自動轉json格式
場景描述:當具體的提交資訊為一個form表單,並透過ajax傳遞給後台時,我們通常使用一個叫序列化的方法將這個form表單轉換為json格式傳遞給後台。(想看更多就到PHP中文網
AJAX開發手冊欄位學習)
<form id="formid"> 姓名:<input type="text" name="name" value="张三"/><br> 年龄:<input type="text" name="age" value="12"/><br> <input type="submit" value="提交" id="submitid"/> </form>·js部分的程式碼-可以單獨寫在一個js文件,注意,需要先引入jquery.js檔案
$(document).ready(function(){ $("#submitid").click(function(){ajaxhere()}); }); //提交表单的ajax function ajaxhere(){ $.ajax({ url : "testajax3.do",// 请求地址 //timeout : 600000,//超时时间设置,单位毫秒 async : false,// 异步 cache : false,// 缓存 type : 'post',// 请求方式 data: $('#formid').serialize(),//序列化表单 dataType : 'json',// 服务器返回的数据类型 //contentType:"application/x-www-form-urlencoded; charset=utf-8", success : function(msg) {// 请求成功后调用的 alert("form表单触发的实验成功了"+" msg.resultcode"+msg.resultcode+" msg.name="+msg.name); }, error :function(){ alert("异常"); } }); }; ·传统的ajax返回方式,即java部分的返回写在流里-特别要注意这里的处理中文乱码的解决方式 HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); String a = "{\"resultcode\":\"0000\",\"name\":\"文试\"}"; writer.write(a); writer.flush(); writer.close();這篇文章到這就結束了(想看更多就到PHP中文網
AJAX使用手冊欄位中學習),有問題的可以在下方留言提問。
#
以上是ajax的配置詳情、ajax的呼叫解釋、ajax的中文亂碼和ajax的表單提交(內有實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!