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(书天)