用C#读取Post数据
本文关键字:数据 Post 读取 | 更新日期: 2023-09-27 17:58:49
我正在使用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),
...
});