jquery 3.1.1
jquery 3.1.1
소개
2. <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
});
API 요청은 두 가지 유형으로 나뉩니다.
받기 요청 보내기
app.api.get('接口名称', 回调函数);
좋다
app.api.get('user/get_name', {name: 'testname'}, function(data){
//todo 接口请求成功后的后续操作
});
위 코드는 다음 요청을 보냅니다.
Request URL:http://xxx.xxx.xxx/v1/user/get_name?name=testname
Request Method:GET
Host:xxx.xxx.xxx
게시물 요청 보내기
app.api.post(接口名称, 参数, 回调函数);
좋다
app.api.post('user/set_name', {name: 'testname'}, function(){
//todo 接口请求成功后的后续操作
});
위 코드는 다음 요청을 보냅니다.
Request URL:http://xxx.xxx.xxx/v1/user/get_name
Request Method:POST
Host:xxx.xxx.xxx
Form Data:
name:testname
如果 `versionSendType` 设置为 `param`
하지만
Request URL:http://xxx.xxx.xxx/user/get_name?version=v1
게시 시간
Form Data:
version:v1
如果 `versionSendType` 设置为 `header`
요청을 보낼 때 Api-Version
매개변수가 Request Headers
에 추가됩니다. 이 경우 서버는 Response Headers
의 Access-Control-Allow-Headers
매개변수에 Api-Version
추가하거나 *
로 직접 설정해야 합니다.
자동 로딩에는 html, css, js가 포함됩니다. 자동 로드는 여전히 기본적으로 <a>
태그를 <a>
하지만 <a>
태그의 메커니즘은 더 이상 동기식으로 점프하지 않고 자동으로 비동기식으로 로드됩니다.
HTML 또는 모든 CSS를 성공적으로 로드한 후 창의 크기 조정 이벤트가 자동으로 트리거됩니다.
<a>
태그가 속성으로 확장되었습니다. 이제 속성이 다음과 같이 추가되었습니다.
여기에는 app
이 필요하지만 값을 입력할 필요는 없습니다. 이 속성이 없는 a
는 여전히 동기식 점프 메커니즘을 사용합니다.
href
HTML 파일 주소를 비동기적으로 로드해야 합니다.
container
컨테이너 ID는 지정된 컨테이너에 비동기적으로 로드된 콘텐츠를 렌더링합니다.
css
비동기적으로 로드해야 하는 CSS 파일 주소
비동기적으로 로드해야 하는 js
파일 주소
data-obj
페이지에서 전송된 데이터를 자랑해야 합니다.
사용예
<a
app
container="content"
href="register.html"
css="register.css"
js="register.js"
data-obj='{"user_id": 111}'
>这是一个超连接</a>
data-obj
여러 CSS가 자동으로 css="css1.css|css2.css|css3.css"
로드합니다.
여러 js가 자동으로 js="js1.js|js2.js|js3.js"
를 로드합니다.
이름 충돌을 피하기 위해 이 js는 네임스페이스를 등록하는 방법을 제공합니다.
//js의 현재 위치가 js/a/test.js
라고 가정합니다.
app.namespace.register('js.a.test');
그게 다입니다.
그런 다음 js.a.test
직접 사용할 수 있습니다.
예를 들어
js.a.test.alert = function(msg){
alert("^_^" + msg + "^_^");
}
js.a.test.isShow = true;
……
비동기적으로 가져온 js 파일의 경우 내부 생성자가 자동으로 실행됩니다.
*각 js 파일에서 이름 충돌을 방지하려면 각 js 파일을 닫거나 모든 변수와 함수가 네임스페이스를 사용하는 것이 좋습니다.
좋다
//假设当前js文件的文件名是 'js/a/brand.js'
app.namespace.register('js.a.brand'); //注册命名空间
(function(w){
// 构造函数
js.a.brand = function(){
//todo 需要初始化的逻辑
}
// todo 其它的代码逻辑
}(window));
app.back();
MIT
Copyright (c) 2017 writethesky(书천)