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リクエストは2種類に分けられる
取得リクエストを送信する
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に追加されます。この場合、サーバーは、 Api-Version Response HeadersのAccess-Control-Allow-Headersパラメーターに追加するか、それを直接*に設定する必要があります。
自動読み込みには 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();

マサチューセッツ工科大学
Copyright (c) 2017 writethesky(书天)