Javascript 角度Js语法错误
我有以下工厂:Javascript 角度Js语法错误,javascript,angularjs,Javascript,Angularjs,我有以下工厂: (function() { angular.module('temp') .factory('Factory',Factory); employeeFactory.$inject = ['$http']; function employeeFactory($http) { var factory = {}; var vm = this; factory.login = function(email,pas
(function() {
angular.module('temp')
.factory('Factory',Factory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email,password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
return factory;
}
})();
我收到错误消息:
Uncaught SyntaxError: Unexpected token )
控制台指的是最后一行:
})();
通过代码格式化程序运行代码以修复空白。问题变得显而易见
(function() {
angular.module('skindustries')
.factory('employeeFactory', employeeFactory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
return factory;
}
})();
最后一个}
,您试图使用它来关闭从第1行开始的函数表达式,实际上正在关闭employeeFactory
函数
然后需要另一个}
来关闭从第1行开始的函数表达式,然后才能使用)
来匹配脚本的第一个字符(
)
您可能希望将它放在
返回工厂之前;
语句,因为它看起来像是缺少的}
属于您分配给工厂的匿名函数。登录通过代码格式化程序运行代码以修复空白。问题变得很明显
(function() {
angular.module('skindustries')
.factory('employeeFactory', employeeFactory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
return factory;
}
})();
最后一个}
,您试图使用它来关闭从第1行开始的函数表达式,实际上正在关闭employeeFactory
函数
然后需要另一个}
关闭在第1行开始的函数表达式,然后才能有)
以匹配脚本的第一个字符
您可能希望将它放在返回工厂之前;
语句,因为它看起来像是缺少的}
属于您分配给工厂的匿名函数。登录您在返回工厂之前缺少的}
(function() {
angular.module('skindustries')
.factory('employeeFactory', employeeFactory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
return factory;
}
})();
你在返回工厂前失踪了}
(function() {
angular.module('skindustries')
.factory('employeeFactory', employeeFactory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
return factory;
}
})();
您错过了一个}
试试这个:
(function() {
angular.module('skindustries').factory('employeeFactory', employeeFactory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
return factory;
}
})();
您错过了一个}
试试这个:
(function() {
angular.module('skindustries').factory('employeeFactory', employeeFactory);
employeeFactory.$inject = ['$http'];
function employeeFactory($http) {
var factory = {};
var vm = this;
factory.login = function(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
return factory;
}
})();
我将用这个函数替换自调用函数,以使其更具可读性
(function() {
angular.module('skindustries').factory('employeeFactory', ['$http', function ($http) {
function login(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
// expose public api
return {
login: login
};
}])});
这是一个非常好的指南,我将用它替换自调用函数,使其更具可读性
(function() {
angular.module('skindustries').factory('employeeFactory', ['$http', function ($http) {
function login(email, password) {
return $http({
'method': 'POST',
'url': 'http://domain.dev/api/v1/login',
'data': $.param({
'email': email,
'password': password
}),
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
// expose public api
return {
login: login
};
}])});
下面是一个非常好的指南,介绍了工厂内部的两个return语句的含义。登录?感谢您的帮助!@JenishRabadiya-第一个return
基本上返回了POST
请求的结果响应。而第二个return
;returns |公开了工厂及其as在上面的示例中,您公开了登录(u,p)
将此服务作为依赖项注入控制器|服务等时,应用程序中的其他组件的功能。@Simple Solution No.这是不正确的,我相信行返回工厂;
将永远不会执行。请仔细查看代码。返回语句后跟另一个返回语句。我会将该语句标记为我nt作为不可访问的代码。在工厂内的两个return语句的含义是什么。login
?感谢您的帮助!@JenishRabadiya-第一个return
基本上返回来自POST
请求的结果响应。而第二个return
;returns |公开工厂及其相关api的pu在上面的例子中,您公开了登录(u,p)
将此服务作为依赖项注入控制器|服务等时,应用程序中的其他组件的功能。@Simple Solution No.这是不正确的,我相信行返回工厂;
将永远不会执行。请仔细查看代码。返回语句后跟另一个返回语句。我会将该语句标记为我nt作为无法访问的代码。这将出错。JS提示报告:应为标识符,而不是看到“')。@Quentin Yup我修复了它。这将出错。JS提示报告:需要一个标识符,而不是看到“')。@Quentin Yup我修复了它。