gpt4 book ai didi

javascript - “未定义”被附加到特定的 Web API 调用

转载 作者:行者123 更新时间:2023-12-01 03:33:23 24 4
gpt4 key购买 nike

“未定义”被附加到我的 Angular 应用程序中的特定 WebAPI 调用,而其他调用成功而没有问题。

由于“未定义”字符,注册用户和登录调用均失败:

请求网址:http://localhost:25971/undefined/api/Account/Register

请求网址:http://localhost:25971/undefined/Token

这是我的代码:

    (function () {
"use strict";
angular
.module("userManagement")
.controller("mainCtrl", ["userAccount", mainCtrl])

function mainCtrl(userAccount) {
var vm = this;
vm.isLoggedIn = false;
vm.message = '';
vm.userData = {
userName: '',
email: '',
password: '',
confirmPassword: ''
};

vm.registerUser = function () {
vm.userData.confirmPassword = vm.userData.password;
userAccount.registration.registerUser(vm.userData, function (data) {
vm.confirmPassword = "";
vm.message = "...Registration successful";
// vm.login();
});
}
vm.login = function () {
vm.userData.grant_type = "password";
vm.userData.userName = vm.userData.email;
userAccount.login.loginUser(vm.userData, function (data) {
vm.isLoggedIn = true;
vm.password = "";
vm.message = "";
vm.token = data.access_token;
});
}
}
}());

这是 userAccount 工厂方法中的代码:

 (function () {
"use strict";
angular.module("common.services")
.factory("userAccount", ["$resource", "appsettings", userAccount])
function userAccount($resource, appsettings) {
return {
registration: $resource(appsettings.serverPath + "/api/Account/Register", null,
{
'registerUser': { method: 'POST' }
}),
login: $resource(appsettings.serverPath + "/Token", null,
{
'loginUser': {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function (data, headersGetter) {
var str = [];
for (var d in data) {
str.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d]));
return str.join("&")
}
}
}
})
}
}

})();

Appsettings 定义如下:

(function () {
"use strict";
angular.module("common.services", ["ngResource"]).constant("appsettings", {
serverpath:"http://localhost:25879/"
});
}());

我是 Angular 和 WebAPI 的新手,如果能找到问题的任何帮助或指导,我们将不胜感激!

最佳答案

您的appsettings常量应如下所示:

(function (angular) {
"use strict";
angular.module("common.services", ["ngResource"]).constant("appsettings", {
serverPath: "http://localhost:25879"
});
}(angular));

属性serverpathserverPath不同,在您的情况下,serverPath未定义。您应该尊重外壳。

关于javascript - “未定义”被附加到特定的 Web API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44416919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com