【问题标题】:$http not working in Angularjs 1.x$http 在 Angularjs 1.x 中不起作用
【发布时间】:2017-12-22 12:31:41
【问题描述】:

我被 angular 的所有类型的 $http 请求困住了,我试图用 $http 访问其余的 API,但是我的代码运行了它,并且在 chrome 网络选项卡中没有显示任何调用。我正在使用 python simplehttpserver 来执行我的项目。

下面是我尝试访问的服务代码

HTML 代码

<form  class="form-horizontal" method="post" ng-submit="loginModel.login()">
            <div class="form-group">
                <div class="col-md-12">
                    <input type="text" class="form-control" placeholder="Username" ng-model="loginModel.username"/>
                </div>
            </div>
            <div class="form-group">
                <div class="col-md-12">
                    <input type="password" class="form-control" placeholder="Password" ng-model="loginModel.password"/>
                </div>
            </div>
            <div class="form-group">
                <div class="col-md-6">
                    <a href="#" class="btn btn-link btn-block">Forgot your password?</a>
                </div>
                <div class="col-md-6">
                    <button type="submit" class="btn btn-info btn-block">Log In</button>
                </div>
            </div>
        </form>

控制器代码

module.exports = function ($scope,$rootScope,$state,crudFactory,$http,$resource) {

var vm = this;
vm.login = login;

function login() {
    var  userDetail = {
        username:vm.username,
        password:vm.password
    };


    $http({
        method: 'POST',
        url:'http:example.com',
        data:userDetail,
    }).then(function (response) {
       console.log(response)
    }, function (response) {

    });
}

我已经在我的控制器中注入了 $http 并且还尝试使用 $resource 访问 API,但是当我在点击事件上点击服务时没有任何反应。

我已经用核心 javascript 尝试过这个,它工作正常,但为什么它不工作 $http 或 $resouce

var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://www.example.com/", false);
    xhr.send();
    console.log(xhr.status);

请帮帮我

谢谢

【问题讨论】:

  • 你在哪里注入$http
  • 现在查看问题我也包含了控制器依赖标头
  • 您在 XMLHttpRequest 中使用 GET 方法,在 $http 中使用 POST 方法。您需要使用 GET 吗?
  • 我需要同时使用两者,但没有任何类型的请求正在访问服务器
  • 您在$http 中的url 的格式也很奇怪。尝试像在 XMLHttpRequest 中一样使用https://www.example.com/

标签: javascript angularjs ajax http


【解决方案1】:

您的 URL 格式似乎不正确,并且在发生错误时您没有执行任何操作。

 $http({
    method: 'POST',
    url:'http://example.com',
    data:userDetail,
}).then(function (response) {
   console.log(response)
}, function (response) {
   console.log('error response', response);
});

如果出现错误,这至少会在控制台中显示一些内容。

如果 url 更改仍然无效,请检查浏览器开发人员控制台的网络选项卡,查看是否正在发出请求,如果是,是否超时(卡在挂起状态)

【讨论】:

  • 问题不是来自网络调用,而是从开始调用开始时,当 http 访问服务器并在响应状态下获得响应时,调用没有进入顶级服务器错误事件工作。
猜你喜欢
  • 2017-01-03
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 2021-02-13
  • 2016-11-10
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多