c# - 使用 C# 读取发布数据

标签 c# javascript jquery post

我正在使用 Jquery Ajax 函数从 html 页面发送数据,并且我正在使用 C# 在后端读取它。

当我使用Get时,数据发送成功,但是当我切换到Post时,后台的数据值为null。

HTML:

<form onsubmit="AddData();>
<input type="submit"value="Submit" />
</form>

Javascript:

function AddData() {
            var RData = GetRData();
            var postData = { 'Function': "AddData", 'RData': JSON.stringify(RData) };
            $.ajax(
            {
                type: "POST",
                url: "/Services/GetRData.aspx",
                data: postData,
                contentType: "application/json; charset=utf-8",
                dataType: "jsonp",
                jsonp: 'jsoncallback',
                success: function (result) { 
                AddClubCallBackFunction(result) },
                error: function (msg) {
                    alert('Sorry, an error occured while adding your Data!');
                }
            });
        }

C#:

string FunctionName =Request["Function"]; //null
string RData = Request.Form["RData"]; //null

那么,我做错了什么?我该如何解决?

更新:

我刚删除

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

它奏效了。

最佳答案

假设上面的代码正是您正在执行的代码,确实有一个拼写错误:

var Data = GetRData();
var postData = { 'Function': "AddData", 'RData': JSON.stringify(RData) };

您的变量是 Data,但您在 RData 上调用的 JSON.Stringify 尚未声明(因此为 null 属性)。

更新

根据您最后的评论,我认为这是一个 JSON 格式问题。当您尝试手动构造您在解决方案中部分正在执行的 JSON 对象时,通常会发生这种情况。我会将您的代码更改为:

var rdata = GetRData();
var postData = { Function: 'AddData', RData: JSON.stringify(rdata) };
$.ajax({
    ...
    data: JSON.stringify(postData),
    ...
});

关于c# - 使用 C# 读取发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811674/

相关文章:

javascript - 在 jQuery 中将字符串添加在一起

javascript - polymer 2.x : Behavior mixins using class extension; error: Class constructor cannot be invoked without 'new'

jquery - 删除 Superfish 下拉菜单在鼠标悬停时的延迟,同时保持悬停意图在鼠标移出时的延迟

javascript - 进度加载栏在 chrome 和 IE 中不起作用

c# - 线程间基于回合的同步

c# - 在 ASP.NET 中接收查询字符串数组?

javascript - jQuery 自动完成不会显示超过 10 个结果

c# - 当范围很大时,VSTO 4 & C# NamedRange.RefersToRange 抛出 Com 异常

c# - 从另一个进程显示系统菜单(使用 WinForms,c#)

dom - jquery onclick 事件在 td 上不起作用