2016-04-26 9 views
0

1週間後にWebサーバーのAPIにJSONコンテンツを投稿するという単純な問題を解決することはできません。私はXamarinを使用しようとするこの試みを中止すると思います。PostAsJsonAsyncのパラメータがポストにJSONコンテンツとして含まれていないのはなぜですか?

XamarinアプリでPostAsJsonAsyncを使用して以下のJSONパラメータを投稿しようとしています。プログラムはサイトを投稿しますが、パラメータはJSONコンテンツとしてエンコードされません。なぜ誰が知っていますか?

public async void Login() 
{ 
    var formcontent = new FormUrlEncodedContent(new[] 
    { 
     new KeyValuePair<string,string>("email","[email protected]"), 
     new KeyValuePair<string, string>("password","Xy345") 
    }); 
    var FlyVIPAPI = new HttpClient(); 
    var request = await FlyVIPAPI.PostAsJsonAsync("http://www.ik.com.br/app/api/LoginUser.php", formcontent); 
    var response = await request.Content.ReadAsStringAsync(); 
    //var res = JsonConvert.DeserializeObject(response); 
    var RepostaJson = Newtonsoft.Json.Linq.JObject.Parse(response); 
    System.Diagnostics.Debug.WriteLine(RepostaJson["success"]); 
    System.Diagnostics.Debug.WriteLine(RepostaJson["error"]); 
    return; 
} 

答えて

0
public class LoginRequest 
{ 
    public string email { get; set; } 
    public string password { get; set; } 
} 

public async void Login() 
{ 
    using (var FlyVIPAPI = new HttpClient()) 
    { 
     // Create Request object 
     var requestObj = new LoginRequest { email = "[email protected]", password = "Xy345" }; 

     // Serialize to JSON string 
     var formcontent = JsonConvert.SerializeObject(requestObj); 

     // Create HTTP content 
     var content = new StringContent(formcontent, Encoding.UTF8, "application/json"); 

     // POST Request 
     var request = await FlyVIPAPI.PostAsync("http://www.ik.com.br/app/api/LoginUser.php", content); 

     // Read Response 
     var response = await request.Content.ReadAsStringAsync(); 

     .... 
    } 
} 

また、私はあなたのコードブロックが実行された後に処分されているようにusing声明の中で、あなたのHttpClientを包むお勧めします。リソースを解放する。

+0

ご連絡ありがとうございます。 – user3358125

+0

私のコードをあなたの提案に置き換えて、結果は同じです。投稿はJSONエンコードされたパラメータなしで送信されています – user3358125

+0

@ user3358125私はあなたの問題を誤解していると思います。あなたは本文のコンテンツではなくurlパラメータを使ってPOSTをしたいですか? – Plac3Hold3r

関連する問題