jquery 3.1.1
1.Présentez jquery 3.1.1
2.Introduire <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
});
Les requêtes API sont divisées en deux types
Envoyer une demande de récupération
app.api.get('接口名称', 回调函数);
comme
app.api.get('user/get_name', {name: 'testname'}, function(data){
//todo 接口请求成功后的后续操作
});
Le code ci-dessus enverra la requête suivante
Request URL:http://xxx.xxx.xxx/v1/user/get_name?name=testname
Request Method:GET
Host:xxx.xxx.xxx
Envoyer une demande de publication
app.api.post(接口名称, 参数, 回调函数);
comme
app.api.post('user/set_name', {name: 'testname'}, function(){
//todo 接口请求成功后的后续操作
});
Le code ci-dessus enverra la requête suivante
Request URL:http://xxx.xxx.xxx/v1/user/get_name
Request Method:POST
Host:xxx.xxx.xxx
Form Data:
name:testname
如果 `versionSendType` 设置为 `param`
mais
Request URL:http://xxx.xxx.xxx/user/get_name?version=v1
heure de publication
Form Data:
version:v1
如果 `versionSendType` 设置为 `header`
Un paramètre Api-Version
sera ajouté Request Headers
lors de l'envoi de la requête. Dans ce cas, le serveur doit ajouter Api-Version
au paramètre Access-Control-Allow-Headers
dans Response Headers
ou le définir directement sur *
Le chargement automatique inclut HTML, CSS et JS. Le chargement automatique utilise toujours la balise <a>
par défaut, mais le mécanisme de la balise <a>
a été ajusté. Cliquer sur la balise <a>
ne saute plus de manière synchrone, mais charge automatiquement la page de manière asynchrone.
Après avoir chargé avec succès le HTML ou tous les CSS, l'événement de redimensionnement de la fenêtre sera automatiquement déclenché.
La balise <a>
a été étendue avec des attributs. Les attributs sont désormais ajoutés comme suit :
app
est requise ici, mais il n'est pas nécessaire de renseigner la valeur. a
balises sans cet attribut utilisent toujours le mécanisme de saut synchrone
href
doit être chargé de manière asynchrone avec l'adresse du fichier HTML
container
L'identifiant du conteneur restituera le contenu chargé de manière asynchrone dans le conteneur spécifié.
L'adresse du fichier CSS dont css
doit être chargé de manière asynchrone
js
adresse du fichier qui doit être chargé de manière asynchrone
data-obj
doit se vanter des données transmises par la page
Exemple d'utilisation
<a
app
container="content"
href="register.html"
css="register.css"
js="register.js"
data-obj='{"user_id": 111}'
>这是一个超连接</a>
Assurez-vous de faire attention à l'utilisation de guillemets simples et doubles pour data-obj
Plusieurs CSS chargent automatiquement css="css1.css|css2.css|css3.css"
Plusieurs js chargent automatiquement js="js1.js|js2.js|js3.js"
Afin d'éviter les conflits de noms, ce js fournit une méthode pour enregistrer un espace de noms.
//Supposons que l'emplacement actuel de js soit js/a/test.js
app.namespace.register('js.a.test');
c'est tout
Après cela, vous pouvez utiliser js.a.test
directement
Par exemple
js.a.test.alert = function(msg){
alert("^_^" + msg + "^_^");
}
js.a.test.isShow = true;
……
Pour les fichiers js importés de manière asynchrone, le constructeur interne sera automatiquement exécuté.
*Afin d'éviter les conflits de noms dans chaque fichier js, il est recommandé que chaque fichier js soit fermé ou que toutes les variables et fonctions utilisent des espaces de noms.
comme
//假设当前js文件的文件名是 'js/a/brand.js'
app.namespace.register('js.a.brand'); //注册命名空间
(function(w){
// 构造函数
js.a.brand = function(){
//todo 需要初始化的逻辑
}
// todo 其它的代码逻辑
}(window));
Appelez simplement app.back();
MIT
Copyright (c) 2017 writethesky(书天)