我正在尝试在我的php文件中实现angular.js,因为它只是一个文件项目,所以我在想我在哪里使用AngularJS。所以我决定用$http
替换AJAX调用。
对于我导入的谷歌角度js文件
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
并替换我的这个ajax调用
$.ajax({
url: url,
type: "GET",
data: data,
async: false,
success: function(res) {
resData = res;
}
});
使用
$http({
url: url,
method: "GET",
data: data
}).success(function(data, status, headers, config) {
resData = data;
}).error(function(data, status, headers, config) {
resData = data;
});
除了这些没有改变,但当我尝试执行我的代码时,我收到此错误
$ http未定义
答案 0 :(得分:3)
为了使用$ http,您首先需要将其注入控制器
var module = angular.module('putNameHere', [])
module.controller('myCtrl', ['$http', function($http){ //injection here
$http({
url: url,
method: "GET",
data: data
}).success(function(data, status, headers, config) {
resData = data;
}).error(function(data, status, headers, config) {
resData = data;
});
}])
答案 1 :(得分:1)
您将不得不实际加载角度模块和控制器,然后将$ http注入控制器:
OpenOffice Writer
Plunker Demo(将google.com更改为您需要使用的任何网址)
您还需要添加ng-app =&#39; app&#39;属性为<script>
var app = angular.module('app', []);
app.controller('HttpCtrl', function($http) { //this is the $http injection here
//insert your $http code here
})
</script>
标记,ng-controller =&#39; HttpCtrl&#39;属性为<html>
标记。
答案 2 :(得分:0)
$ http服务是一个函数,它接受一个参数 - 一个配置对象 - 用于生成HTTP请求并返回一个带有两个$ http特定方法的promise:成功和错误。
$http.get('/someUrl').
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});