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



>我有以下代码来处理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";

最新更新