2014-04-13 3 views
0

Редактирование: просто для уточнения, я пропустил некоторые поля ввода и другой код, но включил всю соответствующую информацию.

У меня есть googled, и я не могу найти решение. Я запускаю функцию userSearch() на ng-click здесь, в моем html. В ng-click работы вне form элемента, но не внутри (и по работам, я имею в виду $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); 
    }); 
}); 

Может быть потому, что я пытаюсь get в то же время я пытаюсь post к /?

+0

Вы пытались изменить метод из сообщения, чтобы получить, потому что код кажется мне прекрасным. – Hatsjoem

+0

Спасибо. Но это, похоже, не имеет значения:/ – user2865156

ответ

0

Поскольку вы указали action на форме вы пытаетесь как сделать полную загрузку страницы с помощью POST к / в то же время, пытаясь сделать GET без загрузки страницы. Вероятно, ваш GET запускается, но затем отменяется, когда браузер выполняет полную загрузку страницы POST.

+0

Спасибо. После удаления запроса на почту он работал. Должен был проверить, что я сам. – user2865156