当警告PHP echo时,我看到"<html>"在留言中


When alerting PHP echo i see "<html>" in the message

怪事时有发生。代码工作正常,但当我从javascript中警告PHP echo时,它显示如下:

" & lt;html>登录başarılı。& lt;/html> "

点击查看截图

我如何在消息中摆脱html标签?

这是我的javascript:

var dataString = 'user_eposta='+ eposta + '&user_sifre=' + sifre;    
$.ajax({
type: "POST",
url: "bin/login.php",
data: dataString,
success: function(mesaj) {
    alert(mesaj);
} 
});

这是PHP:

<?php
$con=mysqli_connect("pantuff.com","ttoykoc","*******","db_pantuff");
if (mysqli_connect_errno($con))
{
    echo "MySQL Bağlantısı yapılamıyor." . mysqli_connect_error();
} else
   {
        $result = mysqli_query($con,"SELECT * FROM member");
        while($row = mysqli_fetch_array($result))
        {
    if ($row['user_eposta'] == $_POST['user_eposta'] && $row['user_sifre'] == 
        $_POST['user_sifre'])
        {
    $adsoyad = $row['user_ad'] . " " . $row['user_soyad'];
    $_SESSION['username']= $adsoyad;
    setcookie("currentuser", $adsoyad, time()+(84600*30));
        echo "Login başarılı.";
   } else
       {
           echo "Kullanıcı adı ya da şifre hatalı!";
        }
        }
    }
    mysqli_close($con);
?>
alert($(mesaj).text());
alert($(mesaj).html());

$(mesaj)从html构建一个jQuery对象。然后文本或html函数获取消息,其中html获取包含html实体的消息,而文本不包含实体。

一个不同的解决方案,如上面的注释所建议的:

在输出文本的文件的第2行添加header("Content-Type: text/plain");,并且:

var dataString = 'user_eposta='+ eposta + '&user_sifre=' + sifre;    
$.ajax({
type: "POST",
url: "bin/login.php",
data: dataString,
dataType: 'text',
success: function(mesaj) {
    alert(mesaj);
} 
});