2016-11-13 16 views
0

从web api的post请求中获取formdata是否有窍门?我似乎无法使用js FormData()在前端提交表单时使用namevaluecollection或formdatacollection。我已经检查了http请求来验证表单数据是否传递给服务器。获取Js FormData()在Web Api中

JS表单提交

var formData = new FormData(); 
    formData.append('Email', '[email protected]'); 
    formData.append('Password', '123'); 
    // submit data using xmlhttprequest 

控制器网络API

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

回答

2

其实,在网页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; } 
} 
+1

感谢您的输入 – Ralph