jQuery Ajax是流行了很久的請求方式,jQuery是對JavaScript的封裝的產(chǎn)物,豐富的選擇器,優(yōu)雅的Ajax寫法,風(fēng)靡一時,同時對JSON支持也是很優(yōu)雅的,因為目前我們大部分
Ajax請求都采用JSON來完成前后端之間的數(shù)據(jù)交互。
用一個jQuery的JavaScript來寫一個ajax,來講述怎么提交JSON參數(shù)到后端,首先提交JSON數(shù)據(jù),后端要以JSON方式接收,另外前端要采用POST提交方式,下面來直接看代碼。
先介紹幾個jQuery的常用參數(shù):
| 名稱 | 類型 | 規(guī)則說明 |
|---|---|---|
| url | string | 請求連接,可以是相對路徑或者是絕對路徑。 |
| cache | Boolean | 是否緩存,默認(rèn)true,false為不緩存。 |
| type | string | 請求方式,get、post、put、delete、update、option。 |
| data | String/JSON | 請求的參數(shù),可以是&拼接的方式或者JSON對象提交方式 |
| dataType | string | 預(yù)期返回的類型,可選值有,json、xml、html、script、jsonp、text |
| success | Function | 成功回調(diào)的方法。 |
| error | Function | 失敗調(diào)用的方法。 |
具體代碼直接看下面:
$.ajax({
url:"https://cdn.sojson.com/file/demo-json.json",
cache:false,
type:"get",
data:{"name":"Alice","age":23},
dataType:'json',
success:function (json) {
console.log('返回值-轉(zhuǎn)換JSON對象',json);
console.log('demo:',json.demo);
console.log('Name:',json.Name);
console.log('Birthday:',json.Birthday);
console.log('Birthday:',json.Birthday);
console.log('Birthplace:',json.Birthplace);
console.log('Info:',json.Info);
},
error:function (e) {
//錯誤信息
console.log(e.message);
}
});
我們從瀏覽器的請求信息里,可以看到返回值,如下圖:

用一個jQuery封裝的get ajax提交,簡單方便,下面來直接看代碼。
先介紹幾個 $.get的參數(shù):
具體代碼直接看下面:
$.get("https://cdn.sojson.com/file/demo-json.json",
{"name":"Alice","age":23},
function (json) {
console.log('返回值-轉(zhuǎn)換JSON對象',json);
console.log('demo:',json.demo);
console.log('Name:',json.Name);
console.log('Birthday:',json.Birthday);
console.log('Birthday:',json.Birthday);
console.log('Birthplace:',json.Birthplace);
console.log('Info:',json.Info);
},
'json'
);
我們從瀏覽器的請求信息里,可以看到返回值和上面的一樣:
用一個jQuery 封裝的post請求方式,簡單清晰的參數(shù)設(shè)置,下面來直接看代碼。
先介紹幾個 $.post 的參數(shù):
具體代碼直接看下面:
$.post("https://cdn.sojson.com/file/demo-json.json",
{"name":"Alice","age":23},
function (json) {
console.log('返回值-轉(zhuǎn)換JSON對象',json);
console.log('demo:',json.demo);
console.log('Name:',json.Name);
console.log('Birthday:',json.Birthday);
console.log('Birthday:',json.Birthday);
console.log('Birthplace:',json.Birthplace);
console.log('Info:',json.Info);
},
'json'
);
我們從瀏覽器的請求信息里,可以看到返回值和上面的一樣:
用一個jQuery 封裝的getJSON請求方式,省略了第四個參數(shù),默認(rèn)為JSON。
先介紹幾個 $.post 的參數(shù):
具體代碼直接看下面:
$.getJSON("https://cdn.sojson.com/file/demo-json.json",
{"name":"Alice","age":23},
function (json) {
console.log('返回值-轉(zhuǎn)換JSON對象',json);
console.log('demo:',json.demo);
console.log('Name:',json.Name);
console.log('Birthday:',json.Birthday);
console.log('Birthday:',json.Birthday);
console.log('Birthplace:',json.Birthplace);
console.log('Info:',json.Info);
}
);
如果沒有參數(shù)。那還可以這么寫,直接省略或者以直接寫null/{}。
$.getJSON("https://cdn.sojson.com/file/demo-json.json",
function (json) {
console.log('返回值-轉(zhuǎn)換JSON對象',json);
console.log('demo:',json.demo);
console.log('Name:',json.Name);
console.log('Birthday:',json.Birthday);
console.log('Birthday:',json.Birthday);
console.log('Birthplace:',json.Birthplace);
console.log('Info:',json.Info);
}
);
jQuery有2點最好用的封裝,一個是jQuery的選擇器,另外一個就是ajax的封裝了,其實jQuery的ajax的封裝很豐富,有時間的同學(xué)可以看看jQuery的API。
$.ajax/$.post/$.get/$.getJSON 前面的$符號,都可以用 jQuery來替代(一般是解決沖突的時候,$被其他JS占用了)。
$.post/$.get/$.getJSON,第二個參數(shù),就是提交參數(shù)如果沒有,這里可以直接寫null/{},甚至不寫。
jQuery Ajax跨域請看:JSONP 跨域請求教程
原生JavaScript編寫Ajax請求:原生JavaScript Ajax與JSON的講解
【jQuery下載&免費引用】:jquery下載
版權(quán)所屬:SOJSON(原創(chuàng)文章)
原文地址:http://suancuo.cn/json/json_ajax-jquery.html
轉(zhuǎn)載時必須以鏈接形式注明原始出處及本聲明。
綜合技術(shù)交流:點擊加入--> [SO JSON官方交流①群][收費]
綜合技術(shù)交流:點擊加入--> [SO JSON官方交流②群][免費]
要求:不能發(fā)廣告、暴力、政治、付費教程,違者直接踢出。
備注:入群費用5元,沒有QQ錢包,可以先支付寶 or 微信掃碼支付5元贊助后,我拉您進去。QQ聯(lián)系我。
掃碼贊助:贊助二維碼。
技術(shù)交流QQ群:①群259217951,②群166848545
站長郵箱:so@sojson.com
對頁面內(nèi)容有任何疑問和建議,請聯(lián)系我們。
所有贊助/開支都講公開明細,用于網(wǎng)站維護:贊助名單查看
正在加載... ...