可能重复:
在 JavaScript 中获取查询字符串值
我有一个日历网页。当用户打开事件时,它会打开带有如下 URL 的页面:“ http://localhost/Event.aspx?eventid=4" 然后我使用 jQuery 调用页面方法来显示一些额外的数据。我通过 $.ajax 函数发送的数据参数还包括“eventID”(显示正确事件的数据)。如果用户手动(假设通过firebug控制台)使用伪造的“eventID”执行对页面方法的jQuery调用,他会得到错误的数据。我想防止这种情况,......以一种不发送带有jQuery数据参数的eventid的方式,但以某种方式在服务器上获取eventid -side codebehind。问题是,我不能使用会话(因为用户可以打开多个事件,每个事件都有自己的 eventID)而且我也不能使用 cookie,因为它们也可能被黑客入侵。所以我试图直接在页面方法中获取正确的 eventid,使用
HttpContext.Current.Request.QueryString
但没有运气。在 Page_Load 我得到我的 eventid:
EventID = Page.Request.QueryString("eventid")
但我找不到将这个 eventid 值放入我的页面方法的方法。
因此,我正在寻求有关如何从 url 或 Page_Load 上定义的公共变量中获取页面方法参数值的建议。
谢谢。
编辑:目前我正在使用 POST 发送参数,例如:
var myEventId = $("#hiddenField").val();
$.ajax({
url: "Event.aspx/getEventData",
type: "POST",
data: "{'eventid':myEventId}"
...
});
但我想避免使用 POST 发送 eventid 参数,以防止黑客攻击。