即使有很多与我的问题有关的问题,我也找不到合适的答案。
在外部JS中,我需要一个会话变量(view_mode)的值。它有两个可能的值("复杂"&"简单")。我想检查设置了哪个值,并根据结果做更多的事情。
使用以下代码,JS会提醒正确的值(假设"复杂")但是有一些空格(例如"复杂")。说到if(...),它不能使用'视图'即使我写了if(view ==" complex")'。就像变量'视图'不存在或具有其他价值,它总是跳入“其他”#。
var view = $.ajax({
type: 'GET',
async: false,
url: 'get_view_mode.php',
}).responseText;
alert(view);
if(view == "complex"){
//do something
}else{
//do something else
}
显然"复杂"在变量中写入,否则它将无法提醒正确的文本。但为什么不可能以任何其他方式进一步使用它? (是的,我知道ajax被认为是用于异步使用;))
感谢您的帮助。谢谢!
答案 0 :(得分:0)
您应该检查您的PHP文件,以确保它没有输出您不期望的任何内容(例如空格)
但在这种情况下,您可以使用if( view.match(/complex/))
。
但是,一般情况下,我会在<head>
:
<script>
window.SESSION = <?php
echo json_encode(array(
"view_mode" => $_SESSION['view_mode'],
// add more values here?
));
?>
</script>
这样,您可以使用window.SESSION.view_mode
直接在JS中访问该值,而无需对服务器进行额外的往返。