Chr*_* P. 2 javascript sharepoint
有什么方法可以使用 javascript 检查页面是否是 POST 或 GET 请求的结果?
原因是我有一个 sharepoint 搜索页面,我们在其中插入了自定义 javascript 以自动选择特定值。对于新搜索,这不是问题,但由于下一个/上一个结果页面是使用回发实现的,如果更改了该值,则该值将被重置并且下一个页面将获得不同的结果。
示例:默认值为“选择”(= 无值)。我们的脚本将其设置为“值 1”。新用户转到搜索页面,将其更改为“值 2”并进行搜索。当他返回结果时,我们的脚本将其重新设置为“值 1”,当他单击“下一步”时,他将获得第 2 页的结果,以搜索“值 1”而不是“值 2”。
解决方案是检查页面是否使用 POST 提交,如果不是,则仅重置该值。
不,JavaScript 无法检测到这样的事情。
你可以做的是从后面的代码中向 JS 注入一些“标志”:
void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "post_back_flag", "var _postBack = true;", true);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的 JS 代码中检查该标志。