network (DEPRECIATED use Fetch API instead)
network 模块返回一个对象,提供了一系列发送 AJAX 请求的方法和配置。
伪造一个图片请求去请求 url,并传递相关参数,用于实现无需得到响应的简单请求,如记录前端统计日志、错误日志等。
var net = require('network');
window.onerror = function (msg, file, line) {
net.ping('/api/error', {
ua: navigator.userAgent.toLowerCase(),
ref: document.referrer,
url: location.href,
file: file || '',
line: line || 0,
msg: msg || ''
});
};
发出一个 AJAX GET 请求,请求 JSON 数据,可指定请求成功与失败的处理函数,并返回一个 promise 对象。
var net = require('network');
net.get('/api/update', {
id: 12,
name: 'Elf'
}, function (data, status, xhr) {
// 成功的回调函数
}, function (xhr, errorType, status) {
// 失败的回调函数
});
关于 promise 对象的使用,参见 network.ajax
。
发出一个 AJAX POST 请求,请求 JSON 数据,参数同 network.get
,返回一个 promise 对象。
关于 promise 对象的使用,参见 network.ajax
。
通过 JSONP 发出一个可跨域 GET 请求,参数同 network.get
,返回一个 promise 对象。
关于 promise 对象的使用,参见 network.ajax
。
通过 AJAX POST 请求发送表单,可指定请求成功与失败的处理函数,返回一个 promise 对象。
var $ = require('zepto'),
net = require('network'),
form = $('FORM[name="example"]')[0];
net.sendForm(form, function (data, status, xhr) {
// 成功的回调函数
}, function (xhr, errorType, status) {
// 失败的回调函数
});
注意 network.sendForm
方法的第一个参数 form 需指定要提交的 HTMLFormElement。
关于 promise 对象的使用,参见 network.ajax
。
通过 AJAX POST 请求发送文件,可指定请求成功与失败的处理函数,返回一个 promise 对象。
<form action="" method="POST">
<input type="file" name="upload" multiple>
</form>```
``` javascript
var $ = require('zepto'),
net = require('network'),
input = $('INPUT[name="upload"]')[0],
file = input.files[0];
net.sendFile('/api/file', file, function (data, status, xhr) {
// 成功的回调函数
}, function (xhr, errorType, status) {
// 失败的回调函数
});
注意 network.sendFile
方法的第二个参数 file 需指定要提交的 File 对象或 Blob 对象。
关于 promise 对象的使用,参见 network.ajax
。
通用的 AJAX 方法,返回一个 promise 对象。
- url:请求 URL
- type:请求类型 get/post,默认为 get
- dataType:响应类型 json/xml/...,默认为 json
- timeout:请求超时时间(单位:秒)
- data:请求参数对象
- headers:请求头部对象
- success:请求成功回调函数
- error:请求失败回调函数
- progress:请求过程进度回调函数
var net = require('network');
net.ajax({
url: '/api/update',
dataType: 'json',
timeout: 30,
data: {
id: 12,
name: 'Elf'
},
success: function (data, status, xhr) {
// 成功的回调函数
},
error: function (xhr, errorType, status) {
// 失败的回调函数
}
});
使用 network.ajax
、network.get
、network.post
、network.sendForm
、network.sendFile
函数均会返回一个 promise 对象,可以通过 done、fail、always 方法代替配置 callback 参数函数的形式绑定相应的处理函数。
var net = require('network');
net.ajax({
url: '/api/update',
dataType: 'json',
timeout: 30,
data: {
id: 12,
name: 'Elf'
}
}).done(function (data, status, xhr) {
// 成功的回调函数
}).fail(function (xhr, errorType, status) {
// 失败的回调函数
}).always(function (xhr) {
// 请求完成的回调函数
});
注意 done、fail、always 回调函数传入参数各不相同。
序列化对象为形如 key1=value1&key2=value2
的字符串并返回,若指定 appendTo,则将 appentTo 视为 URL,将序列化后的字符串拼接到 URL 后,并返回完整 URL。
var net = require('network'),
url = net.param({
wd: 'Hello World'
}, 'http://www.baidu.com/s');
// http://www.baidu.com/s?wd=Hello+World
设置默认的请求参数。
- url:请求 URL
- type:请求类型 get/post,默认为 get
- dataType:响应类型 json/xml/...,默认为 json
- timeout:请求超时时间(单位:秒)
- data:请求参数对象
- headers:请求头部对象
- success:请求成功回调函数
- error:请求失败回调函数
- progress:请求过程进度回调函数
设置默认的请求成功回调函数。
设置默认的请求失败回调函数。