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:请求过程进度回调函数
设置默认的请求成功回调函数。
设置默认的请求失败回调函数。