Javascript 为什么没有';“t显示”;“你错了。”;消息

Javascript 为什么没有';“t显示”;“你错了。”;消息,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我经常通过jquery使用ajax,但是根据下面的代码,为什么当“IF”为true时它不显示“youhadshorror”消息?只显示“故障”信息 文件Login.php <!DOCTYPE html> <html lang="en" class="no-js"> <head> <title>just for test</title> </head> <div id="Response" ></div>

我经常通过jquery使用ajax,但是根据下面的代码,为什么当“IF”为true时它不显示“youhadshorror”消息?只显示“故障”信息

文件Login.php

<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<title>just for test</title>
</head>
<div id="Response" ></div>
<h3>login</h3>
<form id="Login" class="form-login">
 <input type="text" class="form-control" name="yourname" id="yourname" placeholder="yourname">
 <button type="submit" class="btn btn-bricky pull-left"> ورود <i class="fa fa-arrow-circle-right"></i> </button>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
<script>
$(document).ready(function (e){
$("#Login").on('submit',(function(e){
e.preventDefault();
    $.ajax({
        url: "include/php/check_login.php",
        type: "POST",
        data:  new FormData(this),
        contentType: false,
        cache: false,
        processData:false,
        success: function(data)
        {
            if(data=='faile'){
             $("#Response").html('you had wrong...');
            }else{
             $("#Response").html(data);
            }
              return false;
            }       
        });
}));
});        
    </script>
</body><!-- end: BODY -->
</html>

只是为了测试
登录
ورود  
$(文档).ready(函数(e){
$(“#登录”)。在('提交',(函数(e){
e、 预防默认值();
$.ajax({
url:“include/php/check_login.php”,
类型:“POST”,
数据:新表单数据(本),
contentType:false,
cache:false,
processData:false,
成功:功能(数据)
{
如果(数据=='faile'){
$(“#Response”).html('你错了…');
}否则{
$(“#响应”).html(数据);
}
返回false;
}       
});
}));
});        
文件:check_login.php

<?php
if (isset($_POST['yourname']) && !empty($_POST['yourname']))
{
    $yourname=$_POST['yourname']; 
    echo $yourname;
}
else echo "faile";
?>

地点

var yourname=$('#yourname').val();
$(文档)之间。准备就绪(函数(e){

data:  new FormData(this),


查找在
?>
之后返回的换行符,因为它返回类似
“faile\n”
的内容

您可以使用以下选项之一:

  • 移除关闭标签
    ?>
  • echo
  • 检查是否存在故障(不建议使用)

之后添加
die();
否则回显“faile”
以下是接收基于json的数据的方法

<!DOCTYPE html>
<html lang="en" class="no-js"> <head> <title>just for test</title> </head>

    <body>

        <div id="Response" ></div>

        <h3>login</h3>
        <form id="Login" class="form-login">
             <input type="text" class="form-control" name="yourname" id="yourname" placeholder="yourname">
             <button type="submit" class="btn btn-bricky pull-left"> ورود <i class="fa fa-arrow-circle-right"></i> </button>
        </form>

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
        <script type="text/javascript">

            $(function (e) {

                $("#Login").submit(function(e){

                e.preventDefault();

                $.ajax({

                    url: "check_login.php",
                    data:  new FormData(this),

                    type: "POST",
                    contentType: false,
                    cache: false,
                    processData:false,

                    // data type should be set to json to get the response data as json value
                    dataType: 'json',

                    success: function(json) {

                            if( json.data == 'faile') {

                                $("#Response").html('you had wrong...');

                            } else {

                                $("#Response").html(json.data);

                            }

                            return false;
                        }
                    });
                });
            });

        </script>

    </body>

</html>

只是为了测试
登录
ورود  
$(功能(e){
$(“#登录”).submit(函数(e){
e、 预防默认值();
$.ajax({
url:“check_login.php”,
数据:新表单数据(本),
类型:“POST”,
contentType:false,
cache:false,
processData:false,
//数据类型应设置为json,以获取作为json值的响应数据
数据类型:“json”,
成功:函数(json){
如果(json.data=='faile'){
$(“#Response”).html('你错了…');
}否则{
$(“#Response”).html(json.data);
}
返回false;
}
});
});
});
检查\u login.php

<?php

    session_start();
    if (isset($_POST['yourname']) && !empty($_POST['yourname']))
    {
        $response = array( "data" => $_POST['yourname']);

    } else {$response = array( "data" => "faile");}

    echo json_encode($response);

?>


使用json,关于
\n
应该没有错误::echo之后的新行

我刚刚复制并粘贴了我的IDE中的代码…它可以按照您的要求工作。再见,您可以使用基于json的方法..或者在测试值之前修剪客户端的前导/尾随空格。
<?php

    session_start();
    if (isset($_POST['yourname']) && !empty($_POST['yourname']))
    {
        $response = array( "data" => $_POST['yourname']);

    } else {$response = array( "data" => "faile");}

    echo json_encode($response);

?>