Ajax调用返回整个页面,而不仅仅是回声值(Ajax call returns entire pag

2019-10-18 09:57发布

我想提出的地方,我想提出一个查询到数据库的PHP页面调用Ajax。 然而,当我回声从PHP页面的值,则整个HTML文件被返回,而不仅仅是数值,我需要。

这是我的AJAX脚本:

<script type="text/javascript">

$(document).ready(function()
{
    $("#valuebutton").click(function()
    {
        var id1=$('.player1').val();
        $.ajax
    ({
        type: "POST",
        url: "updatevaluebox.php",
        data: ({g1: id1}),
        cache: false,
        success: function(value)
        {
            //alert(value);
            $('#valuebox').val(value);
        }
    });
    });
});
</script>

这是PHP页面updatevaluebox.php:

<?php
    require("connect_db.php");
    $q="SELECT price FROM playerlist where id=".$_POST['g1'];
    $r=mysqli_query($dbc,$q);
    $price=mysqli_fetch_array($r,MYSQLI_NUM);
    mysqli_close($dbc);
    echo $price[0];
?>

这两个文件都在同一个目录。

我检查了其他的答案对计算器这个问题,但似乎没有工作。

我从alert语句得到的输出是这样的:

<html>

<head><title>

</title></head>

<body>

</body>

</html>5.5

5.5在到底是我唯一需要的价值!

我已经设置了AJAX的数据类型为文本,但即使这样也无济于事。

Answer 1:

是的! 您需要删除任何HTML的文件connect_db.php。 我建议在该文件中存储一个变量检查​​,如果你的连接成功。 例如:

connect_db.php

$isConnected = false;
$dbError = "";
if ($dbc=mysqli_connect('localhost','*****','*****','ff') {
    $isConnected = true;
} else {
    $dbError = mysqli_connect_error();
}

其他文件

require("connect_db.php");

if($isConnected) {
    //DO ALL YO STUFF!!
} else {
    //HANDLE THE ERROR AS YOU LIKE, LIKE PRINTING IT OUT
    echo $dbError;
}

这样做可以让你处理数据库的逻辑在你的文件,如果无法连接,所以你可以从容地处理失败的连接。



文章来源: Ajax call returns entire page rather than just the echo value