【问题标题】:html elements in the request parameter is not retrieved in the server side请求参数中的 html 元素在服务器端未检索到
【发布时间】:2018-08-09 03:21:36
【问题描述】:

我的项目具有以下结构。

页面在 html 文件中。并且服务器请求在另一个aspx page 中的Page_load 上处理。

我创建了一个示例应用程序来显示错误。 这是HTML文件HTMLPage1.html

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        var params = 'pak=' + encodeURIComponent('</br>');
        debugger;
        var url = 'http://localhost:49735/WebForm1.aspx?' + params;
        $.ajax({
            type: 'POST',
            async: false,
            url: url,
            success: function (data) {
                alert('Hi');
            }
        });
    });
</script>
<meta charset="utf-8" />

这是WebForm1.aspx.cs中的PageLoad函数

protected void Page_Load(object sender, EventArgs e)
{
  var authorize = Request["pak"];
  int i = 0;
}

Request["pak"] 不可访问。我应该需要将 pak 传递为&lt;/br&gt;

【问题讨论】:

    标签: html asp.net visual-studio


    【解决方案1】:

    如果您想通过POST拨打网络电话

    您应该设置data 字段

    喜欢这个

    $(document).ready(function () {
        //var params = 'pak=' + encodeURIComponent('</br>');
        debugger;
        var url = 'http://localhost:49735/WebForm1.aspx';
        $.ajax({
            type: 'POST',
            async: false,
            data:{
                pak : encodeURIComponent('</br>')
            },
            url: url,
            success: function (data) {
                alert('Hi');
            }
        });
    });
    

    encodeURIComponent('&lt;/br&gt;') 将像"%3C%2Fbr%3E" 一样对URL 进行编码

    你可以尝试使用HttpUtility.UrlDecode()进行解码

    var authorize =  HttpUtility.UrlDecode(Request["pak"].toString());
    

    你会得到&lt;/br&gt;

    【讨论】:

    • 谢谢。这对我有用。解码。我使用了 HttpUtility.UrlDecode(Request.Form["pak"])。
    • 这是我的荣幸 :)。
    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 2022-11-10
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多