Javascript AJAX响应文本不匹配

Javascript AJAX响应文本不匹配,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个AJAX调用: var ajax = new XMLHttpRequest(); ajax.open("POST", "testing.php", true); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = function(){ if(ajax.readyState == 4 && ajax.status

我有一个AJAX调用:

var ajax = new XMLHttpRequest();
ajax.open("POST", "testing.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.onreadystatechange = function(){
    if(ajax.readyState == 4 && ajax.status == 200){
        var returnVal = ajax.responseText;

        if(returnVal == "success"){
            // Redirect
        }else{
            // Inform of failure
        }
    }
}
ajax.send("testing=1");
与以下PHP匹配:

if(isset($_POST["testing"])){
    $formScore = checkForm($db_conx);
    if($formScore == 10){
        echo "success";
        exit();
    }else{
        echo "fail";
        exit();
    }
}
这个很好用。表单分数应该是“10”,而发送回AJAX调用的值实际上是“success”。至少,如果我打印出响应文本:

$('.output').html(ajax.responseText);
output
中的值为“success”-在单词前面加空格。我不能用光标选择空间,但当我查看页面的HTML时,它就在那里

但是,无论如何,
if(returnVal==“success”)
行始终等于false。我甚至尝试了
if(returnVal==“success”)
,但仍然是false

这就是全部代码。我甚至尝试过硬编码
$formScore=10
以查看这是否是问题所在。不管怎样,由于某种原因,这种平等总是错误的


我有什么明显的遗漏吗?我已经用100种不同的方法对此进行了测试,结果仍然是一样的。

您的PHP文件中的某个地方存在导致此问题的空间。可能在
之前的文件开头,PHP文件中的某个地方存在导致此问题的空格。可能在
之前的文件开头,PHP文件中的某个地方存在导致此问题的空格。可能在
之前的文件开头,PHP文件中的某个地方存在导致此问题的空格。可能在
之前的文件开头,您可以使用jQuery
trim
函数删除提货和尾随空间

if($.trim(returnVal) == "success")

您可以使用jQuery
trim
函数删除提货和拖尾空间

if($.trim(returnVal) == "success")

您可以使用jQuery
trim
函数删除提货和拖尾空间

if($.trim(returnVal) == "success")

您可以使用jQuery
trim
函数删除提货和拖尾空间

if($.trim(returnVal) == "success")


您可能在
BOM之前有一个空格或BOM?没有空间。一切尽可能地紧密。最坏的情况是你做
if(returnVal.trim()=“success”){
但这只是一个黑客,最好从服务器发送正确的东西是的,
.trim()
事情解决了,但我在任何地方都找不到任何空格。然后查找字节顺序标记(BOM,顺便说一句,它是不可见的)您可能在
BOM?之前有一个空格或BOM,但没有空格。所有内容都尽可能紧密。最坏的情况是,如果(returnVal.trim()=“success”){
您会这样做,但这只是一种攻击,最好从服务器发送正确的内容是的,
trim()
事情解决了,但我在任何地方都找不到任何空格。然后查找字节顺序标记(BOM,顺便说一句,它是不可见的)。您可能在
BOM?之前有一个空格或BOM,但没有空格。一切都尽可能紧密。最坏的情况是,如果(returnVal.trim()=“success”),您会这样做
if(returnVal.trim()=“success”){
但这只是一个黑客,最好从服务器发送正确的东西是的,
.trim()
的事情解决了,但我在任何地方都找不到任何空格。然后查找字节顺序标记(BOM,顺便说一句,它是不可见的)您可能在
BOM?之前有一个空格或BOM,但没有空格。所有内容都尽可能紧密。最坏的情况是,如果(returnVal.trim()=“success”){
您会这样做,但这只是一种攻击,最好从服务器发送正确的内容是的,
trim()
事情解决了,但我在任何地方都找不到空格。然后查找字节顺序标记(BOM,顺便说一句,它是不可见的)。你是对的。
.trim()
成功了,但是在
块之前的代码中没有空格。还有其他想法吗?它们是背对背的,并且在文件中没有任何内容在它们之前。@Birrel那可能是新行字符。@Birrel它可能是任何空格字符,真的,新行,制表符等等。呸。骗子。我已经梳理过了,仍然无法理解我什么也找不到。但是,
.trim()
起作用了,所以我就到此为止。谢谢!@Birrel没问题,很乐意帮忙。你说得对。
.trim()
成功了,但是在
块之前的代码中没有空格。还有其他想法吗?它们是背对背的,并且在文件中没有任何内容在它们之前。@Birrel那可能是新行字符。@Birrel它可能是任何空格字符,真的,新行,制表符等等。呸。骗子。我已经梳理过了,仍然无法理解我什么也找不到。但是,
.trim()
起作用了,所以我就到此为止。谢谢!@Birrel没问题,很乐意帮忙。你说得对。
.trim()
成功了,但是在
块之前的代码中没有空格。还有其他想法吗?它们是背对背的,并且在文件中没有任何内容在它们之前。@Birrel那可能是新行字符。@Birrel它可能是任何空格字符,真的,新行,制表符等等。呸。骗子。我已经梳理过了,仍然无法理解我什么也找不到。但是,
.trim()
起作用了,所以我就到此为止。谢谢!@Birrel没问题,很乐意帮忙。你说得对。
.trim()
成功了,但是在
块之前的代码中没有空格。还有其他想法吗?它们是背对背的,并且在文件中没有任何内容在它们之前。@Birrel那可能是新行字符。@Birrel它可能是任何空格字符,真的,新行,制表符等等。呸。骗子。我已经梳理过了,仍然无法理解找不到任何东西。但是,
.trim()
成功了,所以我就到此为止。谢谢!@Birrel没问题,很高兴能帮上忙。是的,修剪成功了。但现在我正试图找到空间的来源。是的,修剪成功了。但现在我正试图找到空间的来源。是的,修剪成功了。但现在我正试图找到空间的来源。是的,trim成功了。但现在我正试图找到空间的来源。