【问题标题】:Get Js FormData() In Web Api在 Web Api 中获取 Js FormData()
【发布时间】:2016-11-13 02:59:36
【问题描述】:

从 web api 的 post 请求中获取 formdata 有技巧吗?使用 js FormData() 在前端提交表单时,我似乎无法使用 namevaluecollection 或 formdatacollection。我已经检查了 http 请求以验证表单数据是否正在传递到服务器。

JS表单提交

    var formData = new FormData();
    formData.append('Email', 'email@notarealemail.com');
    formData.append('Password', '123');
    // submit data using xmlhttprequest

控制器网络接口

public IHttpActionResult CheckUser(FormDataCollection FormData)
{
     //formdatacollection and namevaluecollection don't seem to return key based values
}

【问题讨论】:

    标签: javascript asp.net-web-api


    【解决方案1】:

    实际上,在 web api 控制器中,您应该检查属性 Request 以获取您从页面发布的所有信息。接下来,您可以使用适当的方法获取数据:Request.Content.ReadAsByteArrayAsyncRequest.Content.ReadAsFormDataAsync(可能是您的情况)或Request.Content.ReadAsStreamAsync 等。这取决于发送的数据格式。

    或者,您可以随时创建一个包含相应字段的类,然后以 JSON 格式发送,以另一种方式获取:

    public IHttpActionResult CheckUser(AccountData data)
    {
    
    }
    

    你的班级应该是这样的:

    public class AccountData {    
       public String Email { get; set; }    
       public String Password { get; set; }
    }
    

    【讨论】:

    • 感谢您的意见
    猜你喜欢
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2012-09-17
    • 2021-09-05
    • 2017-08-18
    相关资源
    最近更新 更多