Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用angular js和$http请求登录不起作用_Javascript_Angularjs_Rest_Ionic Framework_Httprequest - Fatal编程技术网

Javascript 使用angular js和$http请求登录不起作用

Javascript 使用angular js和$http请求登录不起作用,javascript,angularjs,rest,ionic-framework,httprequest,Javascript,Angularjs,Rest,Ionic Framework,Httprequest,我想使用restweb服务的$http和GET登录。我正在做的是: 使用$http.get根据用户名和密码获取数据 存储结果:$scope.getResult=res 将其存储在某个变量中: var result=$scope.getResult; var username=result.username var password=result.password var user=this.user; var pass=this.pass 之后,我将与用户名和密码的ng模型进行比较。如果成功,它

我想使用
restweb服务的
$http
GET
登录。我正在做的是:

  • 使用$http.get根据用户名和密码获取数据
  • 存储结果:
    $scope.getResult=res
  • 将其存储在某个变量中:

    var result=$scope.getResult; var username=result.username
    var password=result.password
    var user=this.user; var pass=this.pass

  • 之后,我将与用户名和密码的ng模型进行比较。如果成功,它将重定向到另一个页面,如下所示:

    如果(用户名==用户和密码==通过) { window.location=“/next.html”
    }

  • 下面是我的完整代码,请建议在我的情况下所需的更改

    $scope.login = function () {
    
      var user = this.user ; // ng-model of username in html page
      var pass = this.pass; //ng-model of password in html page  
    
      $http.get("http://localhost:17681/api/userRegisters"+user+pass).success(function (res) {
    
        $scope.getResult = res;
    
        var result = $scope.getResult;
        var username = result.userName;
        var password = result.password;
    
        if (username == user && password == pass) {
          window.location="/next.html";
        }
    
      }
    
    } 
    
    请告诉我,我应该如何更改代码才能做到这一点

    提前感谢:)

    “+username+”和password=“+password


    并使用GET-HTTP方法从该位置读取用户名和密码

    用AngularJS
    $location
    服务替换原始的
    窗口.location
    方法。从
    $q
    服务实现处理程序内部调用
    window.location
    ,通常会导致AngularJS内部错误

    $http.get("http://localhost:17681/api/userRegisters"+user+pass)
      .then(function onFulfilled(response) {
    
        $scope.getResult = response.data;
    
        var result = $scope.getResult;
        var username = result.userName;
        var password = result.password;
    
        if (username == user && password == pass) {
          //Use this
          $location.path("/next.html");
          //Not this
          //window.location="/next.html";
        }
    }).catch ( function onRejected(response) {
        console.log(response.status);
    });
    
    有关详细信息,请参阅

    弃用通知书
    $http
    旧承诺方法
    .success
    .error
    已被弃用。使用标准的
    。然后改用
    方法


    调试响应 它通过response.data提供记录,但不提供列记录。为了获取数据,应该做些什么

    服务器端API的规范是什么

    生成响应数据的服务器端代码是什么

    这些是读者需要知道的,以便帮助你。否则,任何答案都只是猜测

    行业最佳实践是避免将密码作为URL的参数发送,因为这样会出现安全问题

    AngularJS团队推荐的两种资源:


    额外资源

    您的url将是
    ”http://localhost:17681/api/userRegistersusernamepassword“
    ,输入一些斜杠。您可以记录user和pass的值,看看user和pass是否确实存在。另外,您正在使用url发送一个包含user和pass的字符串,即/userRegistersapplepassword。我不认为你的api会这样。对不起,我是angularjs的新手,我不知道如何在http url中放置过滤器来比较数据库中的用户名和输入的用户名,尤其是在发送表单时,使用密码,你应该用
    $http.post
    请求发送它们,而不是用getthank you@devqon发送,但我无法找到你。可以在我可以研究的地方发布一些例子或链接吗?这将是非常有帮助的。我会推荐一个帖子,然后将数据发送到正文中。在urlNiyaz中输入密码的错误做法感谢您的回复,但此脚本显示了整个数据库,而不仅仅是给定的用户名。是的,我同意这篇文章,因为它包含pssword,我认为url不存在。。。调用ajax$http.get(((err){console.log(err);})时的错误说明;非常感谢@georgeawg sir:)但是当我提醒username和password变量时,它不会显示Db表中的username和password记录。它通过response.data提供记录,但不会提供列记录。为了获取数据,应该做些什么?添加了关于调试响应的部分。并添加了用于验证的资源链接N