2016-11-13 17 views
0

Web APIの投稿リクエストからフォームデータを取得する方法はありますか? js FormData()を使用してフロントエンドでフォームを送信するときにnamevaluecollectionまたはformdatacollectionを使用できないようです。 HTTPリクエストをチェックして、フォームデータがサーバーに渡されていることを確認しました。Web ApiでJs FormData()を取得

JSフォーム

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

コントローラのWeb APIを提出

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

答えて

2

実際には、Web APIをコントローラにあなたがあなたのページから投稿するすべての情報を取得するプロパティRequestをチェックする必要があります。次に、適切な方法:Request.Content.ReadAsByteArrayAsyncまたはRequest.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

関連する問題