如何避免来自ajax响应文本的html dom代码

时间:2014-10-09 06:26:28

标签: php jquery mysql ajax

当我使用jquery ajax从数据库中获取数据时,响应文本也包含html代码。到目前为止我的代码是:

$("#onclick").click(function() {
     $.ajax({
        async:"true",
        type:"POST",
        url:"process.php",
        dataType: "text", 
        data:"tempid="+tid,
        success:function(dat) {
           $("#templ").html(dat);                
        }
    });      
});

文件process.php仅包含以下代码

include "connect.php";
if(isset($_POST['tempid'])&& $_POST['tempid']>0)
{
    $temp_id= $_POST['tempid'];
    $sql="SELECT template FROM templates WHERE tid='".$temp_id."'";
    $res=  mysql_query($sql);
    if((mysql_num_rows($res))>0)
    {
        While($row = mysql_fetch_array($res))
        echo '<b>'.$row['template'].'</b>';
    }
    else
    {
        echo 'NOT';
    }
}
我得到的结果是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
</head>    
<body>
</body>
</html>
<b>/* The mysql value */</b>

我的代码有错吗?我想在我的文本框中仅显示id为templ的mysql值。如何避免所有的HTML代码响应?如果需要进一步的细节,请告诉我..

1 个答案:

答案 0 :(得分:0)

只需将ob_clean();放入process.php中回复之前它就能解决你的问题,但我完全赞同昆汀的观点