You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C#读取POST数据未得到预期结果的问题

解决POST请求数据读取失败的问题

我来帮你排查下问题,大概率是数据传输格式和后台接收方式不匹配导致的,咱们一步步来修复:

前端AJAX的问题修正

你现在直接把div的文本作为data发送,但jQuery默认会把数据编码成表单格式(application/x-www-form-urlencoded),如果后台按纯文本接收,就会解析出错。另外,建议加上success回调方便调试,修改后的代码如下:

function postTasks() { 
    var postdata = $("#taskReturnDiv").text(); 
    try { 
        $.ajax({ 
            type: "POST", 
            url: "calendar.aspx", 
            cache: false, 
            data: postdata, 
            dataType: "text",
            contentType: "text/plain", // 关键:明确告诉后台发送的是纯文本
            success: function(response) {
                console.log("返回结果:", response); // 调试用,查看返回内容
                // 这里可以添加成功后的逻辑,比如把返回值展示到页面上
            },
            error: getFail 
        }); 
    } catch (e) { 
        alert(e); 
    }; 
    function getFail(data, textStatus, jqXHR) { 
        alert(textStatus); 
        console.log("错误详情:", data, jqXHR); // 打印错误信息,方便排查
    }; 
};

后台C#的接收逻辑调整

因为前端发送的是纯文本,不能用Request.Form读取,得直接读取请求流。在calendar.aspx.cs的Page_Load方法里添加以下处理:

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.HttpMethod.Equals("POST", StringComparison.OrdinalIgnoreCase))
    {
        // 读取请求体中的纯文本数据
        string receivedData;
        using (StreamReader reader = new StreamReader(Request.InputStream))
        {
            receivedData = reader.ReadToEnd();
        }

        // 这里写你的业务处理逻辑,比如生成要返回的内容
        string result = "已接收数据:" + receivedData;

        // 确保返回纯文本,避免输出页面的HTML内容
        Response.Clear();
        Response.ContentType = "text/plain";
        Response.Write(result);
        Response.End(); // 终止页面其他输出,只返回我们需要的纯文本
    }
}

额外调试建议

  • 打开浏览器开发者工具(F12),切换到Network标签,查看POST请求的Request Body是否是你预期的文本,Response是否是后台返回的纯文本,这能快速定位问题。
  • 如果taskReturnDiv里有特殊字符,不用担心,设置contentType: "text/plain"后会正确传输。

内容的提问来源于stack exchange,提问作者user7858150

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:08:33