【问题标题】:No response from AJAX callAJAX 调用没有响应
【发布时间】:2015-10-31 04:58:03
【问题描述】:

我对 API 的 AJAX 调用没有得到任何响应。 几天前它工作正常,我得到了响应 JSON,但现在我无法获得任何 JSON 对象。 Mozilla 没有给出响应 JSON,但没有显示错误,但在 Chrome 中我得到了 net::ERR_INSECURE_RESPONSE

AngularJS 代码:

app.controller("LoginCtrl",
        function($scope, $http,$location,$rootScope) {
    $scope.login = function(user){
        $http({
            method: "POST",
            url: "https://aadvq11nwbv01.staples.com/wcs/resources/v1/member/login?storeId=10101&responseFormat=json",
            /*header: "Access-Control-Allow-Origin:*",*/
            header: "Content-Type: application/json",
            header: "Accept: application/json",
            data:{
                companyID: $scope.user.customerid,
                userID: $scope.user.userid,
                password: $scope.user.password
            }
        })
        .success(function (response){
            $rootScope.profile="xxx";
            userDetails = response;
            console.log(userDetails);
            $location.url("/profile")
        })
        .error(function (err){
            $scope.logerr="err";
            console.log(err);
        });
    }
});

【问题讨论】:

  • 您的网址已指定“https”。您确定您的后端具有有效的 SSL 证书并且可以处理 https 请求吗?
  • 几天前我使用了相同的网址,它工作正常......
  • 最近几天是否对后端服务器进行了任何更改?他们的 https 证书过期了吗?你能像 chrome 中的普通网站一样访问 url,你看到任何错误吗?
  • 听起来您的 https 证书有问题,我在使用自签名证书时遇到过这种情况,您必须导航到该站点,单击一个按钮,上面写着“我知道”的风险,带我去那里',然后在您留在网站上时清除缓存。尝试再次清除缓存,关闭浏览器并再次打开。
  • 什么都没有……我可以通过 Chrome 访问 API url

标签: javascript ajax angularjs google-chrome


【解决方案1】:

原因可能是您指定的方式错误。 header 应该是一个对象,然后在其中定义其属性。

代码

    $http({
        method: "POST",
        url: "https://aadvq11nwbv01.staples.com/wcs/resources/v1/member/login?storeId=10101&responseFormat=json",
        header: {
            "Content-Type: application/json",
            "Accept: application/json"
        },
        data:{
            companyID: $scope.user.customerid,
            userID: $scope.user.userid,
            password: $scope.user.password
        }
    })

【讨论】:

    【解决方案2】:

    您收到错误的原因是网络服务器提供的 SSL 证书无法识别,因此不受信任。如果您在您的网络服务器上使用自签名证书,这将解释它。否则,您的证书设置会出现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2019-08-09
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多