通過batch.php
文件訪問,請求規(guī)則是POST提交json格式內(nèi)容。
配置文件:Config/batch.php
jQuery調(diào)用樣例代碼:
// 設置跨域傳遞cookie,如果不需要可以去除
$.ajaxSetup({
xhrFields: {
withCredentials: true
},
});
$.ajax({
// 在線演示地址,隨時可能崩掉,正式使用時請改成你自己的
url: 'http://apiagent.toolapi.net/batch.php',
method: 'post',
data: JSON.stringify({
/*aip: {
url: 'ip', // 在apis中預定義的接口,傳別名即可
getData: {ip: '218.4.255.255'},
},*/
aip: {
url: 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json',
getData: {ip: '218.4.255.255'}, // 這里的IP改變也會改變下面baike的結果哦
},
// weather2是錯誤的結果,會中斷
/*weather2: {
url: 'http://www.weather.com.cn/data/sk/1010101001.html',
condition: { // 返回結果.weatherinfo不為null
value: '{$weather2.weatherinfo}',
regular: 'is not null',
},
},*/
baike: {
url: 'http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_length=600',
// get參數(shù)
getData: {
bk_key: '{$aip.city}', // api接口中返回的數(shù)據(jù).city
},
// post參數(shù)
postData: {},
// GET請求數(shù)據(jù)類型
getDataType: 'form',
// POST請求數(shù)據(jù)類型
bodyDataType: 'form',
// 自定義header,不定義則使用默認
header: {
'test': 'aaa',
},
// 驗證返回結果是否正確,不正確會中斷請求并返回
condition: {
value: '{$baike.errno}',
regular: 'is not null',
},
},
}),
success: function(data) {
console.debug(data);
}
});
{
// 是否成功
"success": true,
// 錯誤信息
"message": "",
// 返回正文數(shù)據(jù)
"data": {
"test": ""
},
// 返回結果
"result": {
// 鍵名=>返回頭數(shù)據(jù)
"test": {
// 狀態(tài)碼
"status_code": 208,
// 返回頭
"header": {
"Server": "squid/3.5.20",
"Date": "Mon, 09 Oct 2017 07:38:54 GMT",
"Content-Type": "application/octet-stream",
"Content-Length": "0",
"Connection": "keep-alive"
},
// 請求耗時
"time": 0.047
}
}
}
代碼 | 含義 |
---|---|
is null | null === $value |
is not null | null !== $value |
empty array | 0 === count($value[0]) |
not empty array | count($value[0]) > 0 |
true | true === $value |
false | false === $value |
除了預定義規(guī)則,你還可以編寫正則來驗證。如:\d+
名稱 | 含義 |
---|---|
form | 表單參數(shù)格式(如:a=1&b=2),默認 |
json | 轉(zhuǎn)為json格式提交 |
不傳默認為form,其它名稱不對傳遞來的參數(shù)做任何處理
更多建議: