PHP生成的HTML输出为jQuery$.post请求添加\r\n字符和额外空格

PHP生成的HTML输出为jQuery$.post请求添加\r\n字符和额外空格,php,.post,Php,.post,我有一个正在实现的登录系统,当我使用从jQuery$.post调用的PHP脚本时,它会添加\r\n一些空格,然后再添加\r\n(用firebug查看) 我正在尝试返回单词“Success”(如果登录有问题,也可以返回其他单词),以便确定登录请求的状态。在比较之前,我总是可以去掉斜杠并修剪输出,但如果我能修复原因,我宁愿不这样做 此PHP的输出是“Success\r\n\r\n”,而不仅仅是“Success”: 如果有人能告诉我,当jQuery获得输出时,附加字符被附加到输出的位置/原因,我们将不

我有一个正在实现的登录系统,当我使用从jQuery$.post调用的PHP脚本时,它会添加\r\n一些空格,然后再添加\r\n(用firebug查看)

我正在尝试返回单词“Success”(如果登录有问题,也可以返回其他单词),以便确定登录请求的状态。在比较之前,我总是可以去掉斜杠并修剪输出,但如果我能修复原因,我宁愿不这样做

此PHP的输出是“Success\r\n\r\n”,而不仅仅是“Success”:

如果有人能告诉我,当jQuery获得输出时,附加字符被附加到输出的位置/原因,我们将不胜感激

问候


Braedon

如果在打开PHP标记之前或之后有任何空格,则会将其输出到浏览器。您可以使用jQuery的trim函数或返回json数组

<?php
echo json_encode($loginStatus);
?>

您还可以将开关函数移动到PHP文件并输出登录状态消息。

2建议:

  • 因为它是纯文字,所以设置标题('Content-type:text/plain')
  • 尝试从该文件和includes/dbiconnect.php中删除关闭?>。可能在这些文件中的一个或两个文件中都有尾随字符返回,这就是您所看到的

  • 是否在注册时添加换行符?我的意思是,你有没有检查过以确保它不以这种方式出现在数据库中?2个问题:如果你把一个'die();'打印功能完成后,这是否解决了问题?我想知道在代码运行之后是否会添加额外的空格。另外,如果在输出周围放置trim(),是否解决了问题?@Adam,单词“Success”仅分配给一个变量,然后输出,而不依赖于用户数据库中的任何值。@Seth,在输出结果的行中添加“print trim(stripslashes($loginStatus));”,没有任何区别:-(还有一个问题。在结束php标记后有没有换行符?在结束php标记后删除(不可见的)空格,谢谢。G'Day Codewrangler,Adam刚刚给了你答案,但谢谢你的回答。干杯,
    case (passwordentered != "" && usernameentered != ""):
        $("#errorField").val("I can work with this");
            var passwordhash = CryptoJS.SHA256(passwordentered);
            var str_hash = passwordhash.toString(CryptoJS.enc.Hex);
            alert(passwordhash);
            $.post( 'validatelogin.php' , {lname : usernameentered, pass : str_hash},
                function(output) {
                    alert(output);
                    switch (output) {
                        case "Success":
                            $("#errorField").val("Login Was Successful");
                            window.location("./daysheets.php");
                            break;
                        case "Incorrect Password":
                            $("#errorField").val("ERROR: Incorrect Password");
                            break;
                        case "Not Found":
                            $("#errorField").val("ERROR: User Not Found");
                            break;
                        case "Too Many":
                            $("#errorField").val("ERROR: Not Unique");
                        default:
                            var loginerror = output + ", Login Err";
                            $("#errorField").val(loginerror);
                    }
            });
            break;
    
    <?php
    echo json_encode($loginStatus);
    ?>