0

奇怪的事情经常发生。该代码工作正常,但是当我从 javascript 警告 PHP 回显时,它显示如下:

"< html > 登录 başarılı。</ 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);
?>
4

1 回答 1

0
alert($(mesaj).text());
alert($(mesaj).html());

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

如上面在评论中提出的,另一种解决方案:

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

var dataString = 'user_eposta='+ eposta + '&user_sifre=' + sifre;    
$.ajax({
type: "POST",
url: "bin/login.php",
data: dataString,
dataType: 'text',
success: function(mesaj) {
    alert(mesaj);
} 
});
于 2013-05-22T14:11:22.850 回答