c# - 来自 WP7 应用程序的帖子是一个空数组

标签 c# php windows-phone-7 post

我有以下代码用于在 WP7 下处理简单的帖子:

private void goto_login(object sender, RoutedEventArgs e)
{
   WebClient webClient = new WebClient();
   webClient.Headers["Content-Type"] = "text/xml";
   var uri = new Uri("http://example.com/wp_login", UriKind.Absolute);
   StringBuilder postData = new StringBuilder();
   postData.AppendFormat("{0}={1}", "username", HttpUtility.UrlEncode(username_box.Text));
   postData.AppendFormat("&{0}={1}", "password", HttpUtility.UrlEncode(password_box.Password));
   webClient.Headers[HttpRequestHeader.ContentLength] = postData.Length.ToString();
   webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(webClient_UploadStringCompleted);
   webClient.UploadProgressChanged += webClient_UploadProgressChanged;
   webClient.UploadStringAsync(uri, "POST", postData.ToString());
}

void webClient_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
   Debug.WriteLine("result: "+e.Result);
}

void webClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
   Debug.WriteLine(string.Format("Progress: {0} ", e.ProgressPercentage));
}

在 PHP 方面,脚本只是执行以下操作:

var_dump($_POST);

这样做时,我总是会从服务器得到一个空数组。如果有什么区别,我会在模拟器而不是设备上运行它。我在这里做错了什么?

最佳答案

如果有人碰巧通过这个问题寻找答案,这就是问题所在:

webClient.Headers["Content-Type"] = "text/xml";

应改为:

webClient.Headers["Content-Type"] = "application/x-www-form-urlencoded";

关于c# - 来自 WP7 应用程序的帖子是一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390675/

相关文章:

php - Mysql INSERT INTO 无法正常工作

windows-phone-7 - 退出WP7上 “Back”按钮上的应用程序

c# - WP7 (windows phone 7) HttpWebRequest 丢失 POST 数据

c# - 使用 dapper 执行部分数据库更新

c# - AutoMapper 一个源对象到多个目标对象

php - 简单的 HTML Dom : How to remove elements?

php - mysql_query 不返回数据

c# - LINQ 按空列排序,其中顺序是升序的,空值应该排在最后

c# - 已经存在的候选用户名是否有理由抛出异常?

silverlight - RestSharp 诉 WebClient?