首页 > 解决方案 > 使用 ajax 传递数据并使用 Request.Form[""] 读取数据

问题描述

我尝试将参数从脚本传递到aspx.cs页面。js当我省略时:

contentType: "application/json; charset=utf-8"

在 ajax 请求中,我得到了Request.Form["ORDER"]类似的东西{%7b%22ORDER_ID%22%3a126333%7d}。这意味着该数据来自aspx.cs,但未解码。

没有内容类型

当我添加时,contentType我没有收到任何请求。

内容类型

下面我附上请求。

Request.Form["ORDER"]in 中读取参数很重要aspx.cs

$.ajax({
        type: 'POST',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify({ ORDER_ID: orderKeyId }),
        dataType: "json",
        url: sUrl,
        success: function (data) {
            var s = 0;
        },
        error: function () {
            var s = 0;
        }
    });

标签: javascriptc#jqueryasp.netwebforms

解决方案


根据@Rory McCrossan 的评论,以下 ajax 状态有效:

$.ajax({
    type: 'POST',
    contentType: "application/x-www-form-urlencoded",
    data: "ORDER_ID=" + encodeURIComponent(orderKeyId),
    url: sUrl,
    success: function (data) {
        var s = 0;
    },
    error: function () {
        var s = 0;
    }
});

推荐阅读