Asp.net 使用POST方法的AJAX回调
我需要一些帮助。我正在使用jQuery进行ajax回调:Asp.net 使用POST方法的AJAX回调,asp.net,jquery,Asp.net,Jquery,我需要一些帮助。我正在使用jQuery进行ajax回调: function TestingCallback(controlId) { if (controlId == 'drpControl') { var options = { type: "POST", url: "Main.aspx", data: { drpCont
function TestingCallback(controlId) {
if (controlId == 'drpControl') {
var options = {
type: "POST",
url: "Main.aspx",
data: { drpControl: $(".drpControl").val() },
//contentType: "application/json; charset=utf-8",
//cache: false,
success: function (data) {
},
complete: function (jqXHR, status) {
formData = $("#form1").serialize();
window.location = "Main.aspx?" + formData;
ShowLoadingBar();
return false;
}
};
var resp = $.ajax(options);
}
}
后端我得到的数据如下:
Request.Form[“drpControl”]
,它运行良好
但是,只要我将这一行添加到回调选项中:contentType:“application/json;charset=utf-8”,
,我就会得到Request.Form[“drpControl”]
的null值
请协助解决这个问题
提前谢谢
请允许我补充一点,我正试图引起回发,但保留所有控制值,因此这一行:
formData = $("#form1").serialize();
window.location = "Main.aspx?" + formData;
但在第二次回发(更改drpControl)字段值被清除后,我假设这与IE无法满足长时间的查询字符串有关,我已经在Chrome中对其进行了测试,它工作正常,但不是IE,我需要它来为IE 8工作。有什么建议吗?在内容类型中,只需添加这个
contentType: "application/json"
指定编码对于JSON来说有些冗余,因为JSON的默认编码是UTF-8。因此,在本例中,接收服务器显然很高兴知道它正在处理JSON,并假设默认情况下编码为UTF-8,这就是它使用或不使用头的原因
contentType(默认值:“application/x-www-form-urlencoded;charset=UTF-8”)-
向服务器发送数据时,请使用此内容类型。默认值为“application/x-www-form-urlencoded;charset=UTF-8”,这在大多数情况下都适用。如果显式地将内容类型传递给$.ajax(),则它将始终发送到服务器(即使没有发送数据)。如果没有指定字符集,数据将使用服务器的默认字符集传输到服务器;您必须在服务器端对其进行适当解码
注意:当然可以,但要像这样传递数据
data: "{'drpControl' : " + $(".drpControl").val()+ "}",
是的,我有,但它仍然收到请求null@johnnie-还要看看这篇文章:行:数据:“{'drpControl':”+$(“.drpControl”).val()+“}”,不起作用either@johnnie-查看我提供的帮助您理解的文章链接