【发布时间】:2014-02-21 14:57:25
【问题描述】:
我是 C# 新手。我尝试了其他问题的所有解决方案,但仍然找不到问题所在。我的代码在其他答案中很常见,但它似乎从不发送任何东西。我已经在我自己的服务器和我为服务器工作的公司中尝试过。我知道这种答案以前已经回答过很多次了,但也许我错过了像其他人一样的东西,所以这可能对我以外的人有用。
C#代码:
var buttonSaveClicked = new MouseEventHandler((o, a) =>
{
var user_token = this.textApiKey.Text;
if (user_token.Length == 0) MessageBox.Show("API Key cannot be empty!", "API Key Error", MessageBoxButtons.OK, MessageBoxIcon.None);
var httpWebRequest = (HttpWebRequest) WebRequest.Create("http://localhost/networksWindows.php");
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"user_token\": \"batatas\", \"bata\": \"cook\"}";
System.Diagnostics.Debug.WriteLine(json);
streamWriter.Write(json);
streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
System.Diagnostics.Debug.WriteLine(result);
User user = JsonConvert.DeserializeObject<User>(result);
if (user.status == "error") MessageBox.Show("Invalid API Key. Please make sure you have generated a API key and insert it correctly.", "API Key Error", MessageBoxButtons.OK, MessageBoxIcon.None);
else if (user.status == "success")
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadProc));
t.Start();
this.Close();
}
}
});
我服务器中的 PHP 脚本:
<?php
$json = null;
if (isset($_POST['user_token']))
{
$json = $_POST['user_token'];
echo "user";
}
?>
【问题讨论】:
-
$_POST不解析 JSON。