这是我的JavaScript方法:
function CloseDialog() {
var ieAppIdstr = $("[id$=hfIEAppId]").val();
$.ajax({
type: "POST",
url: "../Notes/Notes.aspx/UpdateNoteStatus",
contentType: "application/json",
dataType: "json",
data: JSON.stringify({ ieAppId: ieAppIdstr }),
success: function (data) {
},
failure: function (msg) {
$('#output').text(msg);
}
});
popUpClosed();
}
我的网络方法:
[WebMethod(EnableSession = true)]
public static void UpdateNoteStatus(string ieAppId)
{
UserRole usrRole = HttpContext.Current.Session[Settings.Default.USERROLE] as UserRole;
string loggedInUserRole = (usrRole != null && usrRole.IsIMERole) ? "IME" : "PROVIDER";
}
此代码在Chrome中正常运行,但在IE9及更低版本中无效。我搜索了谷歌和Stack Overflow。所有解决方案都建议将随机数据添加到URL或使缓存为false。我尝试了两种解决方案。仍然没有调用web方法。
我可能在这里做错了...我试过没有参数,代码工作正常。只有当我添加参数时,代码才会起作用。
请提出一些解决方案。谢谢:))
编辑:我没有收到任何错误。此代码放在jQuery弹出窗口中。
答案 0 :(得分:0)
快速浏览一下,既然你说它是IE9及以下问题,我认为问题是IE9没有JSON.stringify。您可以使用https://github.com/douglascrockford/JSON-js/blob/master/json.js将JSON对象添加到旧版浏览器。
答案 1 :(得分:0)
你可以试试这个:
data: '{ieAppId: "' + ieAppIdstr + '" }',