初学者通过控制台错误帮助 Angular JS 调试
Beginners help to Angular JS debugging via console errors
AngularJS 对我来说是新的(而且很难)。所以我想学习如何调试。
目前我正在学习一门课程并搞砸了一些事情。想知道如何解释控制台错误并解决错误。
index.html
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="MainController">
<h1>{{message}}</h1>
{{ username }}
<form action="searchUser" ng-submit="search(username)">
<input type="search"
required placeholder="Username to find"
ng-model="username"/>
<input type="submit" value="search">
</form>
<div>
<p>Username found: {{user.name + error}}</p>
<img ng-src="http://www.gravatar.com/avatar/{{user.gravatar_id}}" title="{{user.name}}"/>
</div>
</body>
</html>
script.js
(function() {
var app = angular.module("githubViewer", []);
var MainController = function($scope, $http) {
var onUserComplete = function(response) {
$scope.user = response.data;
};
var onError = function(reason) {
$scope.error = "could not fetch data";
};
$scope.search = function(username) {
$http.get("https://api.github.com/users/" + username)
.then(onUserComplete, onError);
};
$scope.username = "angular";
$scope.message = "GitHub Viewer"; };
app.controller("MainController", MainController);
}());
控制台只显示
searchUser:1 GET http://run.plnkr.co/lZX5It1qGRq2JGHL/searchUser? 404
(Not Found)
如有任何帮助,我们将不胜感激。
由于您正在使用 ng-submit 页面在响应到达之前被重定向并且您提供了任何操作 URL
作为 searchUser
这不是状态或任何 html 文件所以它被用于未知地址,它是异步调用所以需要一些时间你可以使用输入类型 button
而不是 submit
.
<!DOCTYPE html>
<html ng-app="githubViewer">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="MainController">
<h1>{{message}}</h1>
{{ username }}
<form >
<input type="search"
required placeholder="Username to find"
ng-model="username"/>
<input type="button" ng-click="search(username)" value="search">
</form>
<div>
<p>Username found: {{user.name + error}} {{user}}</p>
<img ng-src="http://www.gravatar.com/avatar/{{user.gravatar_id}}" title="{{user.name}}"/>
</div>
</body>
</html>
在你的表格中,action
你写了这个
<form action="searchUser"
它会尝试使用 currentHostName\searchUser 提交给 url,因此在这种情况下,您正在测试 plunker,因此 plunker url.
您可以更改 url 提交表单的位置。如果您想明智地搜索 ajax 那么您甚至不需要指定操作部分。你可以让你的 service/factory 为你打电话。
虽然与调试此特定错误不完全相关,但有一个 chrome 扩展 "ng-inspector",它对 angularJS 新手非常有用。您可以按范围查看每个 angular 变量的值及其值。希望能帮助到你!
这是 chrome 扩展的 link:https://chrome.google.com/webstore/detail/ng-inspector-for-angularj/aadgmnobpdmgmigaicncghmmoeflnamj?hl=en
AngularJS 对我来说是新的(而且很难)。所以我想学习如何调试。 目前我正在学习一门课程并搞砸了一些事情。想知道如何解释控制台错误并解决错误。
index.html
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="MainController">
<h1>{{message}}</h1>
{{ username }}
<form action="searchUser" ng-submit="search(username)">
<input type="search"
required placeholder="Username to find"
ng-model="username"/>
<input type="submit" value="search">
</form>
<div>
<p>Username found: {{user.name + error}}</p>
<img ng-src="http://www.gravatar.com/avatar/{{user.gravatar_id}}" title="{{user.name}}"/>
</div>
</body>
</html>
script.js
(function() {
var app = angular.module("githubViewer", []);
var MainController = function($scope, $http) {
var onUserComplete = function(response) {
$scope.user = response.data;
};
var onError = function(reason) {
$scope.error = "could not fetch data";
};
$scope.search = function(username) {
$http.get("https://api.github.com/users/" + username)
.then(onUserComplete, onError);
};
$scope.username = "angular";
$scope.message = "GitHub Viewer"; };
app.controller("MainController", MainController);
}());
控制台只显示
searchUser:1 GET http://run.plnkr.co/lZX5It1qGRq2JGHL/searchUser? 404 (Not Found)
如有任何帮助,我们将不胜感激。
由于您正在使用 ng-submit 页面在响应到达之前被重定向并且您提供了任何操作 URL
作为 searchUser
这不是状态或任何 html 文件所以它被用于未知地址,它是异步调用所以需要一些时间你可以使用输入类型 button
而不是 submit
.
<!DOCTYPE html>
<html ng-app="githubViewer">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="MainController">
<h1>{{message}}</h1>
{{ username }}
<form >
<input type="search"
required placeholder="Username to find"
ng-model="username"/>
<input type="button" ng-click="search(username)" value="search">
</form>
<div>
<p>Username found: {{user.name + error}} {{user}}</p>
<img ng-src="http://www.gravatar.com/avatar/{{user.gravatar_id}}" title="{{user.name}}"/>
</div>
</body>
</html>
在你的表格中,action
你写了这个
<form action="searchUser"
它会尝试使用 currentHostName\searchUser 提交给 url,因此在这种情况下,您正在测试 plunker,因此 plunker url.
您可以更改 url 提交表单的位置。如果您想明智地搜索 ajax 那么您甚至不需要指定操作部分。你可以让你的 service/factory 为你打电话。
虽然与调试此特定错误不完全相关,但有一个 chrome 扩展 "ng-inspector",它对 angularJS 新手非常有用。您可以按范围查看每个 angular 变量的值及其值。希望能帮助到你! 这是 chrome 扩展的 link:https://chrome.google.com/webstore/detail/ng-inspector-for-angularj/aadgmnobpdmgmigaicncghmmoeflnamj?hl=en