在jquery中,提供了集中方法来进行ajax操作
一、$.get(url,[data],[callback])
向服务器发起get操作。
说明:url为请求地址,data为请求数据的列表(json对象),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。
二、$.getJSON(url,[data],[callback])
向服务器发起get操作。
说明,对于get或getJSON方法,对服务器的返回数据格式要求有区别。
如果是getJSON方法,则要求服务器返回的是合法的json格式的字符串,这样在回到函数callback的第一个参数,实际就是已经转换为js中的对象数据,不再是原始的字符串。 如果服务器返回的是非合法的json格式字符串,则浏览器则无法成功获取到数据。
如果是get方法,则服务器返回的是任意格式的字符串,因为在回到函数callback的第一个参数,得到的就是原始的字符串内容,如果要想额外处理(比如转成js对象),需要自己处理。parse,Stringfy
注意:不论是哪种ajax请求,服务器底层返回的都是字符串内容。只是字符串格式的区别罢了,如 htnl格式,xml格式,json格式。
URL_Serv: "http://127.0.0.1:8081/rest/item/cat/list?callback=category.getDataService",
//URL_Serv: "http://localhost:8082/category.json",
FN_GetData: function() {
//使用jsonp来实现跨域请求
$.getJSONP(this.URL_Serv, category.getDataService);
//直接使用ajax请求json数据
/*$.getJSON(this.URL_Serv, function(json){
category.getDataService(json);
});*/
getDataService: function(a) {
var b = [], c = this;
$.each(a.data, function(a) {
this.index = a, "l" == this.t && (this.i = c.FN_RefactorJSON(this.i, 7)), b.push(c.renderItem(this, a))
});
//参考商城lib-v1.js中1205行
三、$.post(url,[data],[callback],[type])
向服务器发起post请求
说明:这个函数跟$.get()参数差不多,多了一个type参数,type为请求 的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么要求服务器返回的格式必须是合法的json格式的,这时在callback中获取到的就是转换过的json对象。
如果没有设置,就 和$.get()一样,服务器可返回任意格式的字符串,在callback中获取到的就是原始的字符串。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
登录
四、$.ajax(opiton)
说明:$.ajax()这个函数功能强大,可以对ajax进行许多精确的控制。格式如:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
修改商品信息
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
pageContext.setAttribute("basePath", request.getContextPath()+"/") ;
%>
<%@include file="/common/header.jsp"%>
我要投诉
五、$.getScript( url, [callback] )
getScript()函数可以远程载入JavaScript脚本并且执行。这个函数可以跨 域载入JS文件。这个函数的意义是巨大 的,它可以很大程度的缩减页面初次载入的代码量,因为你可以根据用户的交互来载入相应的JS文件,而不必在页面初始化的时候全部载入。参数url是待载入 JS 文件地址,callback是(可选) 成功载入后回调函数。
六、jquery对象.load( url, [data], [callback] )
load函数可以载入静态页面内容到指定jQuery对象。其中url请求的HTML页的URL地址,data是(可选)请求参数,callback是(可选)完成后的回调函数。