ng-click函数的$ http.get错误()

时间:2014-04-13 19:11:03

标签: javascript node.js angularjs scope

编辑:为了澄清,我省略了一些输入字段和其他代码,但包含了所有相关信息。

我用谷歌搜索,我找不到解决方案。我在我的html中userSearch()上运行了一个函数ng-clickng-clickform元素之外但不在内部(并且通过作品,我的意思是$http.get成功):

partial1.html:

<body ng-controller = "userLookUpCtrl">
<form name = "userForm" method = "post" action = "/">
  <input type = "submit" value = "submit" ng-click = "userSearch()">
</form>
</body>

控制器似乎设置正确,但从研究来看,我的示波器可能存在问题。当我在$http.get('/api/userSearch')函数之外移动$scope.userSearch时,$http.get根据chrome dev工具在页面加载时成功。如果问题是范围,那么我担心我需要有人为我拼出我需要做些什么来修复它。

controller.js:

  function userLookUpCtrl($scope, $http) {
    $scope.userSearch = function() {
      $http.get('/api/userSearch')             //not successful on ng-click
      .success(function(data) {
        console.log("success" + data);
      })
      .error(function(data){
        console.log("FAILURE!");
      })
    }  
  }

表达服务器代码:

app.get('/api/userSearch', function(req, res) {
  var username = req.body.username;
  User.findOne({username: username}, function(err, username) {
    if (err) res.send(err);
    else res.send(username);
  });
});

可能是因为我在尝试getpost的同时尝试/吗?

1 个答案:

答案 0 :(得分:0)

由于您在表单上指定了action,因此您尝试在尝试POST的同时通过/GET进行整页加载没有页面加载。可能您的GET正在启动,但在浏览器执行整页加载POST时被取消。