日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JQuery方式执行ajax请求

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JQuery方式执行ajax请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兩種請求:

執行get請求的格式:

$.get(url,function(data,status){
這里面一般用來處理服務器反饋的數據data,將data響應到頁面上
})

字節請求,不帶任何參數 :

$.get("url");

需要帶上參數的話與平常的get請求參數傳遞一樣。

$.get("url?name=zhangsan&age=18");

執行post請求的格式:

$.post(url,data,function(data,status){
這里面一般用來處理服務器反饋的數據data,將data響應到頁面上
},“json”) 注意:執行post請求時一定要帶上數據格式"json"這是與get 的區別

直接,請求不帶上任何數據:

$.post("url" );

請求,帶上數據(以json的格式):

$.post("url" , {name:"xx" , age:99});

其中:
如果想要獲取服務器反饋的數據,需要在get里面在加一個參數。 給定一個方法即可。服務器響應后,會執行該方法。
注意,方法里面的參數格式固定, data , status 。
data : 代表服務器響應過來的數據(多半是json和XML格式),
status 代表這次請求的響應狀態碼(一般不需要這個參數)。

兩個例子:

一.模仿百度搜索提示

建立數據庫:

編寫前端頁

<body> <center><h2>百度</h2><input type="text" id="word" style="width: 600px ; height: 50px ;font-size: 20px;"><input type="button" value="百度一下" style="height: 55px ; width: 100px ; "><div id="div01" style="position:relative; left : -54px; width: 600px; height: 200px ; border: 1px solid blue; display: none"></div> </center></body>

編寫servlet(url路徑):

public class FindWordServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {try {//獲取前端傳過來的wordString word = request.getParameter("word");WordDaoImpl dao = new WordDaoImpl();//得到模糊查詢出來的list集合List<Word> words = dao.findWord(word);//存放到request域中request.setAttribute("list",words);//在list.jsp中接受這個list集合request.getRequestDispatcher("list.jsp").forward(request,response);} catch (SQLException e) {e.printStackTrace();}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);} }

編寫支撐servlet處理數據的dao和daoImpl,返回一個wordBean的集合

public class WordDaoImpl implements WordDao {@Overridepublic List<Word> findWord(String word) throws SQLException {QueryRunner runner = new QueryRunner(JDBCUtils.getDataSource());String sql = "select * from word where word like ?";return runner.query(sql,new BeanListHandler<Word>(Word.class),word+"%");} }

用于接收集合的list.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><table style="width: 100%"><c:forEach items="${list}" var="wordBean"><tr><td>${wordBean.word}</td></tr></c:forEach></table>

最重要的jquery代碼:

<script>$(function () {//觸發一個鍵盤談起事件$("#word").keyup(function () {//如果沒有輸入,則隱藏div框if($("#word").val() == ""){$("div").hide();}else{//如果有輸入,則執行ajax的post請求$.post("FindWordServlet",{word:$("#word").val()},function (data) {// alert(data) data里面是一個html的table$("div").show().html(data)})}})})</script>

二.省市聯動

建立數據庫

前端頁面:

<body> 省份: <select name="province" id ="province"><option value="" >-請選擇 -<option value="1" >廣東<option value="2" >湖北 </select> 城市: <select name="city" id="city"><option value="" >-請選擇 - </select> </body> </html>

servlet獲取前端傳過來的pid去dao層處理數據:
其中涉及到兩個技術:
1.將集合對象轉化為XML對象的格式傳給前端(使用到xStream封裝好的的依賴包,用xStream.toXML()方法)
2.將集合對象轉化為json對象的格式傳給前端(使用json封裝好的依賴包,用JSONArray.fromObject(list).toString()方法)

public class CityServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {try {//1獲取前端傳過來的pid,轉化為bean中的int類型int pid = Integer.parseInt(request.getParameter("pid"));CityDaoImpl cityDao = new CityDaoImpl();//2.去dao數據處理層從數據庫獲取想要的city集合List<CityBean> list = cityDao.findCityByPid(pid);/*//利用xstream講list對象轉化為xml的字符串XStream xStream = new XStream();//想把pid做成屬性xStream.useAttributeFor(CityBean.class, "pid");//設置別名xStream.alias("city", CityBean.class);String xml = xStream.toXML(list);*///3.將list對象轉化為json對象數組JSONArray jsonArray = JSONArray.fromObject(list);String json = jsonArray.toString(); // System.out.println(json);response.setContentType("text/html;charset=utf-8");response.getWriter().write(json);//響應給前端頁面的數據} catch (SQLException e) {e.printStackTrace();}}

dao處理數據:

public class CityDaoImpl implements CityDao {@Overridepublic List<CityBean> findCityByPid(int pid) throws SQLException {QueryRunner runner = new QueryRunner(JDBCUtils.getDataSource());String sql = "select * from city where pid=?";return runner.query(sql,new BeanListHandler<CityBean>(CityBean.class),pid);} }

前端jq-ajax獲取到servlet響應回來的json對象(也就是回調函數里的參數data):

$(function () {//select一旦發生改變,就通過value值(也就是pid)去servlet中找到該省份對應的城市集合$("#province").change(function () {//清空select下的子元素option$("#city").empty()//發送一個post請求,把value的值(也就是pid)帶到servlet中,servlet響應回來一個data(xml,json)$.post("CityServlet",{pid:$(this).val()},function (data) {/*//處理xml類型的數據$(data).find("city").each(function () {var id = $(this).children("id").text();var cname = $(this).children("cname").text();$("#city").append("<option value='"+id+"'>"+cname);})*///處理json類型的數據$(data).each(function (i,n) {// alert(n.cname)$("#city").append("<option value='"+i+"'>"+n.cname);})},"json")})})

服務器響應回來的兩種數據格式:

1.json

[{"cname":"深圳","id":1,"pid":1},{"cname":"廣州","id":2,"pid":1},{"cname":"惠州","id":3,"pid":1},{"cname":"東莞","id":4,"pid":1}]

2.xml格式:

<list><city pid="1"><id>1</id><cname>深圳</cname></city><city pid="1"><id>2</id><cname>廣州</cname></city><city pid="1"><id>3</id><cname>惠州</cname></city><city pid="1"><id>4</id><cname>東莞</cname></city> </list>

總結

以上是生活随笔為你收集整理的JQuery方式执行ajax请求的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。