【问题标题】:Pass json data as parameter using angular js and receive that in Web API method使用 Angular js 将 json 数据作为参数传递并在 Web API 方法中接收
【发布时间】:2017-05-07 17:38:14
【问题描述】:

我们在 WebAPI 上有一个方法,我们从 angularjs 调用它,我们希望将 json 数据作为参数传递并在 WebAPI 方法中将其作为对象接收。
AngularJS 调用
@ 987654321@
$http.post('/EmployeeArrivalDetails/UpdateEmployeeApprovalStatus/', empInfo). then(function (response) { }, function (response) { });

WebAPI方法
[HttpPost]
public ReturnResponse UpdateEmployeeApprovalStatus(Employee employeeInfo) { }

【问题讨论】:

  • 您构造employeeInfo 实例,然后将empInfo 传递给操作。
  • 是的,我们已经改变了。谢谢

标签: c# .net angularjs asp.net-web-api


【解决方案1】:

您上面的代码应该可以工作。现在..

从 web api 获取 404 的常见原因很少:

  1. web api 请求 url 不正确
  2. 路由定义不正确或与其他路由定义冲突。
  3. 在 Web 配置中添加以下代码可以正常工作:

<modules runAllManagedModulesForAllRequests="true" />

希望这会对您有所帮助。 干杯!

【讨论】:

    【解决方案2】:

    您可以检索为对象并使用 Newtonsoft。您可以将其转换回对象,我认为这可能对您有所帮助

    [HttpPost]
    public ReturnResponse  UpdateEmployeeApprovalStatus(object employeeInfo)
    {
         Employee emp= JsonConvert.DeserializeObject<Employee>(employeeInfo.ToString());
    }
    

    【讨论】:

    • 我试过但收到 404 错误。 http://localhost:13832/EmployeeArrivalDetails/UpdateEmployeeApprovalStatus/ Scripts/angular.js:12185
    • 检查您的路线。如果正确,请进行清洁并重建
    • 试过这个....但没有用。但是此控制器上的其他方法(仅接受参数)工作正常。
    • @Naqi PostUpdateEmployeeApprovalStatus 更改您在 post 前面的方法名称,也请使用路由更新您的问题 :)
    猜你喜欢
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 2018-08-28
    • 2013-11-22
    • 2013-12-12
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多