我正在尝试避免某些代码在特定页面上显示,例如标签类别和其他页面。
For Each sentence In ActiveDocument.StoryRanges
For Each w In sentence.Words
'above code should run
Next
当用户登陆页面时,条件正常。但是这些页面使用ajax来检索帖子,当这种情况发生时,条件变为false并且页面上显示不必要的代码。
为什么会这样?有没有人对此有任何想法。任何形式的帮助将不胜感激。
答案 0 :(得分:0)
您应该向if语句添加一个额外的约束,以检查请求是否是ajax请求。这并不是在每台服务器上使用,但如果您使用的是Apache,它应该适合您。
if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) && !is_front_page() && !is_search() && !is_page( 'article', 'preview' ) && !is_category() && !is_tax() && !is_tag() ){
//code here
}
只有在不是ajax请求时才会出现上述情况。如果对这个php文件发出ajax请求strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
应该是真的,这就是你可以检查它是否是一个ajax请求并相应地处理它的方法
答案 1 :(得分:0)
您应该获得具有上述条件的Ajax响应数据。
或者你可以在你不想显示代码的那个页面中传递一个变量(参数),那个时候会传递你的Ajax,当Ajax函数得到那个变量时(参数)如果你没有得到(空的)参数,你必须添加上述条件,然后你执行所有页面。
更好的方法是以一种可以获得高于页面条件的方式获得对Ajax的响应。