AngularJS作为一个非常实用的前端框架,我们知道在AngularJS中有自己的Model和Controler。
angularJS中所有的请求都是通过js定义的Controler来完成的,也就是我们完全脱离了后台,
将整个应用程序的压力交给了客户端来完成。但是在实际开发的时候我们难免需要访问后台或者
与数据库进行交互,这个时候我们就需要一个类似于JQAJAX的方法来进行数据访问。
@H_301_9@
在angularJS中提供了一种与远程Http服务器交互的服务,$http
$http是angularJS中的一个可信服务,利用浏览器的XMLHTTPRequest核心对象与远程http服务器进行交互。
$http的使用方法也不难理解,与Jquery提供的$ajax操作比较类似。也支持get、post等。
使用格式:
// 简单的 GET 请求,可以改为 POST@H_301_9@
$http({ @H_301_9@ method:'post',//提交方式 @H_301_9@ url:'Account/DoLogin',//提交路径 @H_301_9@ data:$scope.user,//传递到后台的数据,json对象 @H_301_9@ headers: { @H_301_9@ 'Content-Type': 'application/x-www-form-urlencoded' @H_301_9@ },//当post方式提交的时候需要加上这段来解决后台获取不到数据的问题 @H_301_9@ transformRequest: function ( data ) { @H_301_9@ var str = ''; @H_301_9@ for( var i in data ) { @H_301_9@ str += i + '=' + data[i] + '&'; @H_301_9@ } @H_301_9@ return str.substring(0,str.length-1); @H_301_9@ }//解析json对象的自定义函数 @H_301_9@ }).then(function successCallback(response) @H_301_9@ { @H_301_9@ //请求成功执行的代码 @H_301_9@ },function errorCallback(response) @H_301_9@ { @H_301_9@ //请求失败执行的代码 @H_301_9@ });@H_301_9@
POST与GET简写方法格式:
$http.get('/someUrl', config).then(successCallback errorCallback); $http.post data);