【问题标题】:Webpage doesn't display C# HTML POST网页不显示 C# HTML POST
【发布时间】:2016-03-31 16:41:35
【问题描述】:

我尝试在我的xampp 网页上显示使用 C# HTML Post 发送的值,这是我的代码:

private void sendHtmlData(UInt16 value) {
  var postData = "Package" + value.ToString()
  var data = Encoding.ASCII.GetBytes(postData);

  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost/dashboard/");
  request.Method = WebRequestMethods.Http.Post;
  request.ContentType = "application/x-www-form-urlencoded";
  request.ContentLength = data.Length;
  using (var stream = request.GetRequestStream()) {
    stream.Write(data, 0, data.Length);
  }
  var response = (HttpWebResponse)request.GetResponse();
  var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}

<!doctype html>
<html>
  <head></head>
  <body>
    <? echo htmlspecialchars($_GET["Package"]); ?>
  </body>
</html>

为什么这不起作用?例如,如果我调用该函数,我的网页上什么也不会发生。

【问题讨论】:

    标签: c# php html post get


    【解决方案1】:

    有两个失败:

    1-Post 数据必须采用 key=value 形式,但您只是将键与值连接起来,您错过了“=”,请更改

    var postData = "Package" + value.ToString();
    

    var postData = "Package=" + value.ToString();
    

    此外,如果它有任何特殊字符,建议对值进行 urlencode:

    var postData = "Package=" + Uri.EscapeDataString(value.ToString());
    

    2-如果您将数据作为 POST 发送,那么您必须将其检索为 POST,而不是 GET,更改

    <? echo htmlspecialchars($_GET["Package"]); ?>
    

    <? echo htmlspecialchars($_POST["Package"]); ?>
    

    【讨论】:

    • 感谢您的回答,但我的网页上没有任何反应。
    • 您在哪里查看您的网页?
    • 那么“responseString”的内容是什么?
    • 我网页的 HTML。
    • &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;body&gt;&lt;? echo htmlspecialchars($_POST["Package"]); ?&gt;&lt;/body&gt; &lt;/html&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多