jquery 3.1.1
1.Presentar jquery 3.1.1
2.Introduzca <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
});
Las solicitudes de API se dividen en dos tipos
Enviar solicitud de obtención
app.api.get('接口名称', 回调函数);
como
app.api.get('user/get_name', {name: 'testname'}, function(data){
//todo 接口请求成功后的后续操作
});
El código anterior enviará la siguiente solicitud.
Request URL:http://xxx.xxx.xxx/v1/user/get_name?name=testname
Request Method:GET
Host:xxx.xxx.xxx
Enviar solicitud de publicación
app.api.post(接口名称, 参数, 回调函数);
como
app.api.post('user/set_name', {name: 'testname'}, function(){
//todo 接口请求成功后的后续操作
});
El código anterior enviará la siguiente solicitud.
Request URL:http://xxx.xxx.xxx/v1/user/get_name
Request Method:POST
Host:xxx.xxx.xxx
Form Data:
name:testname
如果 `versionSendType` 设置为 `param`
pero
Request URL:http://xxx.xxx.xxx/user/get_name?version=v1
hora de publicación
Form Data:
version:v1
如果 `versionSendType` 设置为 `header`
Se agregará un parámetro Api-Version
a Request Headers
al enviar la solicitud. En este caso, el servidor debe agregar Api-Version
al parámetro Access-Control-Allow-Headers
en Response Headers
o configurarlo directamente en *
La carga automática incluye html, css y js. La carga automática todavía usa la etiqueta <a>
de forma predeterminada, pero el mecanismo de la etiqueta <a>
se ha ajustado. Al hacer clic en la etiqueta <a>
ya no salta de forma sincrónica, sino que carga automáticamente la página de forma asincrónica.
Después de cargar correctamente html o todo css, el evento de cambio de tamaño de la ventana se activará automáticamente.
La etiqueta <a>
se ha ampliado con atributos. Los atributos ahora se agregan de la siguiente manera:
Aquí se requiere app
, pero no es necesario completar el valor. a
etiquetas sin este atributo todavía usan el mecanismo de salto sincrónico
href
debe cargarse de forma asincrónica con la dirección del archivo html
La identificación del container
representará el contenido cargado de forma asincrónica en el contenedor especificado.
La dirección del archivo CSS que css
debe cargar de forma asincrónica
dirección del archivo js
que debe cargarse de forma asincrónica
data-obj
necesita presumir de los datos transmitidos por la página
Ejemplo de uso
<a
app
container="content"
href="register.html"
css="register.css"
js="register.js"
data-obj='{"user_id": 111}'
>这是一个超连接</a>
Asegúrese de prestar atención al uso de comillas simples y dobles para data-obj
Múltiples CSS cargan automáticamente css="css1.css|css2.css|css3.css"
Múltiples js cargan automáticamente js="js1.js|js2.js|js3.js"
Para evitar conflictos de nombres, este js proporciona un método para registrar un espacio de nombres.
//Suponemos que la ubicación actual de js es js/a/test.js
app.namespace.register('js.a.test');
eso es todo
Después de eso, puedes usar js.a.test
directamente
Por ejemplo
js.a.test.alert = function(msg){
alert("^_^" + msg + "^_^");
}
js.a.test.isShow = true;
……
Para archivos js importados de forma asincrónica, el constructor interno se ejecutará automáticamente.
* Para evitar conflictos de nombres en cada archivo js, se recomienda cerrar cada archivo js o que todas las variables y funciones utilicen espacios de nombres.
como
//假设当前js文件的文件名是 'js/a/brand.js'
app.namespace.register('js.a.brand'); //注册命名空间
(function(w){
// 构造函数
js.a.brand = function(){
//todo 需要初始化的逻辑
}
// todo 其它的代码逻辑
}(window));
Simplemente llame app.back();
MIT
Copyright (c) 2017 writethesky(书天)