PHP生成的HTML输出为jQuery$.post请求添加\r\n字符和额外空格
我有一个正在实现的登录系统,当我使用从jQuery$.post调用的PHP脚本时,它会添加\r\n一些空格,然后再添加\r\n(用firebug查看) 我正在尝试返回单词“Success”(如果登录有问题,也可以返回其他单词),以便确定登录请求的状态。在比较之前,我总是可以去掉斜杠并修剪输出,但如果我能修复原因,我宁愿不这样做 此PHP的输出是“Success\r\n\r\n”,而不仅仅是“Success”: 如果有人能告诉我,当jQuery获得输出时,附加字符被附加到输出的位置/原因,我们将不胜感激 问候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获得输出时,附加字符被附加到输出的位置/原因,我们将不
Braedon如果在打开PHP标记之前或之后有任何空格,则会将其输出到浏览器。您可以使用jQuery的trim函数或返回json数组
<?php
echo json_encode($loginStatus);
?>
您还可以将开关函数移动到PHP文件并输出登录状态消息。2建议:
是否在注册时添加换行符?我的意思是,你有没有检查过以确保它不以这种方式出现在数据库中?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);
?>