首頁  >  文章  >  web前端  >  ajax的配置詳情、ajax的呼叫解釋、ajax的中文亂碼和ajax的表單提交(內有實例)

ajax的配置詳情、ajax的呼叫解釋、ajax的中文亂碼和ajax的表單提交(內有實例)

寻∝梦
寻∝梦原創
2018-09-10 11:28:451181瀏覽

這篇文章主要的講述了關於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表單的格式,form標籤有id,input標籤有name


     <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 : &#39;post&#39;,// 请求方式
data: $(&#39;#formid&#39;).serialize(),//序列化表单
dataType : &#39;json&#39;,// 服务器返回的数据类型
//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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn