JS 是指J-Script 或者JavaScript.
首先 JS 大家习惯于泛指 JavaScript(客户端脚本) 以及JScript(服务器端脚本),其实确切的说 JScript是编写写 ASP 网页的语言(服务器端) 而JavaScript是指客户端的脚本(客户端).
而 JSP 是隶属 JAVA 的 网页版本 虽然两种编写语言语法有很多相同之处,但是两种语言是有本质的不同的!
譬如 用JScript 编写的ASP代码用 IIS就能配置但是JSP需要特殊的服务容器譬如TomCat(大猫)
为了方便资源管理和提升工作效率,常用的js和css文件的加载应该放在一个统一文件里面完成,也方便后续的资源维护。所以我用js写了以下方法,存放在“sourceController.js”文件内。/**
* Created by Administrator on 2016/9/10. */function sourceController(){var root = ""// 根路径
this.opt = {
root : root
} // css存储路径
this.css = {
css0 : "javaScript/bootstrap/css/bootstrap.css",
css1 : "css/iconfont/iconfont.css"
} // js存储路径
this.script = {
script0 : "javaScript/jquery.js",
script1 : "javaScript/bootstrap/js/bootstrap.js"
} /* 设置文件根目录
* @param url 根目录地址 */
this.setRoot = function(url){
root = url
} /* 添加常用资源 */
this.addSource = function(){
addMeta([["http-equiv", "X-UA-Compatible"],["content", "IE=edge"]])
addMeta([["name", "viewport"],["content", "width=device-width, initial-scale=1"]]) for (var i = 0i <Object.getOwnPropertyNames(this.css).lengthi++){this.addCss(this.css["css" + i])
}for (var i = 0i <Object.getOwnPropertyNames(this.script).lengthi++){this.addScript(this.script["script" + i])
}
} /* 添加Script文件
* @param url script文件路径 */
this.addScript = function(url){var script = document.createElement("script")
script.setAttribute("type","text/javascript") if (root != "") {
url = root + "/" + url
}
script.src = url
document.getElementsByTagName("head")[0].appendChild(script)
} /* 添加CSS文件
* @param url css文件路径 */
this.addCss = function(url){var css = document.createElement("link")
css.setAttribute("rel", "stylesheet") if (root != "") {
url = root + "/" + url
}
css.href = url
document.getElementsByTagName("head")[0].appendChild(css)
} /* 回调函数
* @param func 回调方法 */
this.callback = function(func){
setTimeout(func,50)// 为了让文件加载完成,页面排布完毕} /* 添加meta
* @param attr meta属性,为二维数组 */
function addMeta(attr){var meta = document.createElement("meta") for (var i = 0i <attr.lengthi++){
meta.setAttribute(attr[i][0], attr[i][1])
}
document.getElementsByTagName("head")[0].appendChild(meta)
}
}
在需要引入的页面只需要在<head>加入如下代码就可以一下子引入所有的常用资源了。为了显示美观在所有布局完成之间body设置visibility为hidden,布局完成后显示出来。
<script src="javaScript/sourceController.js"></script>
<script>
window.onload = function(){ var sc = new sourceController()
sc.addSource()
sc.addCss("css/common.css")// 额外需要添加的css文件
sc.addScript("javaScript/index.js")// 额外需要添加的js文件
sc.callback(function(){
document.body.style.display = "block"// 所有布局完成后的回调方法,可以根据个人需要定义 })
}</script>
您好,希望以下回答能帮助您原理就是插入一个拦截器到 responseInterceptors,代码放到 module 定义下:
angular.module('app', ['ngSanitize'],
['$httpProvider', '$routeProvider', '$locationProvider', ($httpProvider, $routeProvider, $locationProvider) ->
interceptor = ['$rootScope', '$q', ($scope, $q) ->
success = (response) ->
response
error = (response) ->
status = response.status
if status is 400
$.jGrowl response.data.join('<br />')
else if status is 403
$.jGrowl response.data
else
$.jGrowl "错误:#{status}"
deferred = $q.defer()
req =
config:response.config
deferred:deferred
$q.reject(response)
(promise) ->
promise.then(success, error)
]
$httpProvider.responseInterceptors.push(interceptor)
)