【问题标题】:How to send 2 parameters i angularjs to mvc controller?如何将 2 个参数 i angularjs 发送到 mvc 控制器?
【发布时间】:2016-12-22 21:49:45
【问题描述】:

我的 js 文件中有一个 post 方法,需要发送 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内部服务器错误,我不知道问题出在哪里?

我哪里错了?

【问题讨论】:

  • 您的服务的代码是什么?
  • 您是否尝试发送一个参数是否正常?
  • 是的,它使用 1 个参数
  • 您需要将代码发布到您的服务。你所拥有的就像错过了一块拼图
  • 从服务中更新了一些部分

标签: c# angularjs model-view-controller


【解决方案1】:
  1. 你的 api url 错误;您的控制器中没有任何“添加”操作(除非您具有操作名称为“添加”的属性路由);如果“Patients”是您的控制器名称,POST 'api/patients' 应该可以工作。

  2. 将“clinicalRegistryPatient”重命名为 Post 方法中的确切参数名称;在这种情况下,它是“患者”

【讨论】:

    猜你喜欢
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多