我有一个使用Jquery的Ajax get请求,它在服务器端没有特殊的标题,所以只返回text / html。
$.get("index.php?action=get_current_page", function (response) {
然后我发出警报:
alert(response);
值显示:收件箱
但是为什么然后在下一行评估为false:
if (response == "inbox") {
有什么想法吗?你需要更多信息吗?感谢。
整个片段是:
$.get("index.php?action=get_current_page", function (response) {
alert(response);
if (response == "inbox") {
alert("hello");
loadInbox();
}
在服务器端,我是简单的回应会话变量:
echo $_SESSION['current_page'];
答案 0 :(得分:2)
它很可能包含空格或其他隐形字符。如果无法控制服务器端输出,则可以使用JavaScript替换不可见字符。否则,如果您确实控制了服务器端输出。您可以在服务器端执行此操作。
如果你有对PHP脚本的服务器端访问权限,那么trim()
将完成从字符串的开头和结尾替换空格的工作。
$response = trim($response);
echo $response;
如果您只能访问客户端,则使用JavaScript。更具体地说,String.prototype.replace()
将通过替换不是a-z
或A-Z
response = response.replace(/[^a-zA-Z]/g,'');