Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在模式弹出窗口angularJS中更改密码_Jquery_Angularjs_Popup_Modalpopup - Fatal编程技术网

Jquery 在模式弹出窗口angularJS中更改密码

Jquery 在模式弹出窗口angularJS中更改密码,jquery,angularjs,popup,modalpopup,Jquery,Angularjs,Popup,Modalpopup,我对用c#编程和使用AngularJS都是新手。 我有一个MyProfil表单中的按钮,可以打开一个弹出窗口来更改密码 这是MyProfile.html中的按钮 在弹出窗口中,我有两个输入“newPassword”和“confirmPassword” 还有两个按钮,一个保存,一个取消。 下面是MyProfile.html中的弹出html代码 ` 这是ModalInstanceCtrlChangePassword.js 当我有它像这样,至少我可以看到弹出窗口 "严格使用",; app.cont

我对用c#编程和使用AngularJS都是新手。 我有一个MyProfil表单中的按钮,可以打开一个弹出窗口来更改密码

这是MyProfile.html中的按钮

在弹出窗口中,我有两个输入“newPassword”和“confirmPassword” 还有两个按钮,一个保存,一个取消。 下面是MyProfile.html中的弹出html代码

`

这是ModalInstanceCtrlChangePassword.js 当我有它像这样,至少我可以看到弹出窗口 "严格使用",; app.controller('ModalInstanceCtrlChangePassword',函数($scope,$modalInstance,userData){

但是,当我更改$scope.changePassword中的代码并调用服务时,即使弹出窗口没有显示,也没有任何功能。 这是我添加呼叫服务后的内容:

'use strict';
app.controller('ModalInstanceCtrlChangePassword', ['$scope', '$location', 'modalService', '$cookies', function ($scope, $location, modalService, $cookies,$modalInstance ,userData) {

    $scope.userData = {
        emailwork:"",
        newPassword: "",
        confirmpassword: "",
    };

    $scope.userData = userData;
    $scope.selectedItem = {
    item: $scope.userData[0]
};

$scope.changePassword = function () {
    //$modalInstance.dismiss('cancel');
    modalService.changePassword($scope.userData).then(function (response) {
        $location.path('/home');
    },
        function (err) {
            alert("message " + err.error_description.message);
            $scope.message = err.error_description;
        });
};

$scope.cancelChangePassword = function () {
    $modalInstance.dismiss('cancel');

};

  }]);
这是modalService.js

'user strict';
app.factory('modalService',['$http','$q','ngAuthSettings','$cookies',函数($http,$q,ngAuthSettings,$cookies){

这是AccountController中的ChangePassword代码

  // POST api/Account/ChangePassword
    [System.Web.Http.Route("ChangePassword")]
    public async Task<IHttpActionResult> ChangePassword(Cabin.Web.Models.ChangePasswordBindingModel model)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var user = await UserManager.FindByEmailAsync(model.emailWork);
        if (user == null) return BadRequest();
        UserManager.RemovePassword(user.Id);
        var result= UserManager.AddPassword(user.Id, model.NewPassword);
        return !result.Succeeded ? GetErrorResult(result) : Ok();


        //IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword,
        //    model.NewPassword);
    }
//发布api/帐户/更改密码
[System.Web.Http.Route(“ChangePassword”)]
公共异步任务ChangePassword(cab.Web.Models.ChangePasswordBindingModel模型)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
var user=await UserManager.findbyemailsync(model.emailWork);
如果(user==null)返回BadRequest();
UserManager.RemovePassword(user.Id);
var result=UserManager.AddPassword(user.Id,model.NewPassword);
return!result.successed?GetErrorResult(result):Ok();
//IdentityResult结果=等待UserManager.ChangePasswordAsync(User.Identity.GetUserId(),model.OldPassword,
//新密码);
}
我将感谢任何形式的指导或解决方案。 谢谢

请检查此项,看起来您需要一些类似于:

<div ng-include="modal.html"></div>

首先包括模态模板

'user strict';
var serviceBase = ngAuthSettings.apiServiceBaseUri;

var modalServiceFactory = {};

var _userInfo = {
    companyId: "",
    userName: "",
    userTableId: "",
    langId: "",
    emailWork: "",
};

if ($cookies.userName && $cookies.userTableId && $cookies.companyId && $cookies.language) {

    _userInfo.userTableId = $cookies.userTableId;
    _userInfo.companyId = $cookies.companyId;
    _userInfo.userName = $cookies.userName;
    _userInfo.langId = $cookies.language;
    _userInfo.emailWork = $cookies.emailWork;
}
var _changePassword = function (userData) {

    var data = {
        // OldPassword: userData.oldPassword,
        emailWork: _userInfo.emailWork,
        NewPassword: userData.newPassword,
        ConfirmPassword: userData.confirmPassword
    };

    var deferred = $q.defer();

    $http.post(serviceBase + 'api/Account/ChangePassword', data).success(function (response) {
        //authService.logOut();
        deferred.resolve(response);
    }).error(function (err, status) {
        //authService.logOut();
        deferred.reject(err);
        alert(err.data.message);
        // authService.logOut();

    });
    return deferred.promise;
}
   modalServiceFactory.changePassword = _changePassword;
return modalServiceFactory;
}]);
  // POST api/Account/ChangePassword
    [System.Web.Http.Route("ChangePassword")]
    public async Task<IHttpActionResult> ChangePassword(Cabin.Web.Models.ChangePasswordBindingModel model)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var user = await UserManager.FindByEmailAsync(model.emailWork);
        if (user == null) return BadRequest();
        UserManager.RemovePassword(user.Id);
        var result= UserManager.AddPassword(user.Id, model.NewPassword);
        return !result.Succeeded ? GetErrorResult(result) : Ok();


        //IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword,
        //    model.NewPassword);
    }
<div ng-include="modal.html"></div>