jquery 3.1.1
1.Perkenalkan jquery 3.1.1
2.Perkenalkan <script src="dist/application.min.js"></script>
app.settings({
api: {
location: "http://xxx.xxx.xxx/", //设置api服务器地址
version: 'v1', //设置api版本
versionSendType: 'url', //版本号的发送方式,可能的值 url、headers、param,默认为 url
},
isChangeURL: false //是否开启url自动变更,此选项仅在 server中允许时可以被设置为true
});
Permintaan API dibagi menjadi dua jenis
Kirim permintaan dapatkan
app.api.get('接口名称', 回调函数);
menyukai
app.api.get('user/get_name', {name: 'testname'}, function(data){
//todo 接口请求成功后的后续操作
});
Kode di atas akan mengirimkan permintaan berikut
Request URL:http://xxx.xxx.xxx/v1/user/get_name?name=testname
Request Method:GET
Host:xxx.xxx.xxx
Kirim permintaan posting
app.api.post(接口名称, 参数, 回调函数);
menyukai
app.api.post('user/set_name', {name: 'testname'}, function(){
//todo 接口请求成功后的后续操作
});
Kode di atas akan mengirimkan permintaan berikut
Request URL:http://xxx.xxx.xxx/v1/user/get_name
Request Method:POST
Host:xxx.xxx.xxx
Form Data:
name:testname
如果 `versionSendType` 设置为 `param`
Tetapi
Request URL:http://xxx.xxx.xxx/user/get_name?version=v1
waktu posting
Form Data:
version:v1
如果 `versionSendType` 设置为 `header`
Parameter Api-Version
akan ditambahkan ke Request Headers
saat mengirim permintaan. Dalam hal ini, server perlu menambahkan Api-Version
ke parameter Access-Control-Allow-Headers
di Response Headers
atau mengaturnya langsung ke *
Pemuatan otomatis mencakup html, css, dan js. Pemuatan otomatis tetap menggunakan tag <a>
secara default, namun mekanisme tag <a>
telah disesuaikan. Pengklikan tag <a>
tidak lagi melompat secara sinkron, namun otomatis memuat halaman secara asinkron.
Setelah berhasil memuat html atau semua css, peristiwa pengubahan ukuran jendela akan dipicu secara otomatis.
Tag <a>
telah diperluas dengan atribut. Atribut sekarang ditambahkan sebagai berikut:
app
diperlukan di sini, tetapi tidak perlu mengisi nilainya. a
tanpa atribut ini masih menggunakan mekanisme lompatan sinkron
href
perlu memuat alamat file html secara asinkron
container
id container akan merender konten yang dimuat secara asinkron ke dalam container yang ditentukan.
Alamat file css yang css
perlu dimuat secara asinkron
alamat file js
yang perlu dimuat secara asinkron
data-obj
perlu membanggakan data yang dikirimkan oleh halaman
Contoh penggunaan
<a
app
container="content"
href="register.html"
css="register.css"
js="register.js"
data-obj='{"user_id": 111}'
>这是一个超连接</a>
Pastikan untuk memperhatikan penggunaan tanda kutip tunggal dan ganda untuk data-obj
Beberapa css secara otomatis memuat css="css1.css|css2.css|css3.css"
Beberapa js secara otomatis memuat js="js1.js|js2.js|js3.js"
Untuk menghindari konflik penamaan, js ini menyediakan metode untuk mendaftarkan namespace.
//Asumsikan lokasi js saat ini adalah js/a/test.js
app.namespace.register('js.a.test');
itu saja
Setelah itu, Anda bisa langsung menggunakan js.a.test
Misalnya
js.a.test.alert = function(msg){
alert("^_^" + msg + "^_^");
}
js.a.test.isShow = true;
……
Untuk file js yang diimpor secara asinkron, konstruktor internal akan dijalankan secara otomatis.
*Untuk menghindari konflik penamaan pada setiap file js, disarankan agar setiap file js harus ditutup atau semua variabel dan fungsi menggunakan namespace
menyukai
//假设当前js文件的文件名是 'js/a/brand.js'
app.namespace.register('js.a.brand'); //注册命名空间
(function(w){
// 构造函数
js.a.brand = function(){
//todo 需要初始化的逻辑
}
// todo 其它的代码逻辑
}(window));
Hubungi saja app.back();
MIT
Hak Cipta (c) 2017 writethesky(书天)