2016-11-13 66 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