请求参数中的html元素未在服务器端检索

问题描述 投票:0回答:1

我的项目有以下结构。

页面位于html文件中。和服务器请求在其他Page_loadaspx page上处理。

我创建了一个示例应用程序来显示错误。这是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作为</br>

html asp.net visual-studio
1个回答
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('</br>')将像"%3C%2Fbr%3E"一样编码

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

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

你会得到</br>

© www.soinside.com 2019 - 2024. All rights reserved.