如何在angularjs中发送2个参数到mvc控制器

本文关键字:参数 2个 mvc 控制器 angularjs | 更新日期: 2023-09-27 18:02:46

我有一个post方法在我的js文件,需要发送2个参数。

    var patientData = { 'clinicalRegistryPatient': $scope.patientFile,'emailDetails': $scope.patientFile.emailDetails };
        Service.post(Service.API.REGISTER_PATIENT, patientData).then(function success(data) {
            toastr.success('changes saved successfully', 'Success');

}

和我的API控制器(mvc)就像

            public IHttpActionResult Post(CPatient Patient,EmailDetails emailDetails=null)
    {
    }

和工厂

        return{
       api{
     'REGISTER_PATIENT': '/api/patients/add
          }
            }
            post: function (api, data, headers) {
            var deferred = $q.defer();
            console.log(api);
            $http.post(api, data,headers)
              .success(function (data) {
                  deferred.resolve(data);
              })
              .error(function (err) {
                  deferred.reject(err);
              });
            return deferred.promise;
        },

但是当我调用api时,它返回一个500内部服务器错误,我不知道问题在哪里?

我哪里错了?

如何在angularjs中发送2个参数到mvc控制器

  1. 您的api url错误;在你的控制器中没有任何动作'Add' (除非你有带有动作名称为'Add' 的属性路由);POST 'api/patients'应该工作,如果" patients "是你的控制器名。

  2. 将'clinicalRegistryPatient'重命名为Post方法中的确切参数名;在这种情况下,它是'Patient'