【发布时间】:2013-02-11 12:16:25
【问题描述】:
我正在使用 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",
它奏效了。
【问题讨论】:
-
为什么要提交到 ASPX 页面?只创建一个 Web 服务(WCF 或 ASMX)会容易得多,不是吗?
-
result.d 可以解决问题...
-
AddClubCallBackFunction(result.d)
-
必须先取消表单提交:
<form onsubmit="AddData(); return false;">否则数据会由表单提交自己发送,AJAX会丢失。 -
@SanaJoseph stackoverflow.com/a/14624192/1099235
标签: c# javascript jquery post