Ajax 调用返回整个页面而不仅仅是回显值

Posted

技术标签:

【中文标题】Ajax 调用返回整个页面而不仅仅是回显值【英文标题】:Ajax call returns entire page rather than just the echo value 【发布时间】:2013-07-19 02:06:53 【问题描述】:

我正在对我正在查询数据库的 .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];
?>

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

我已经在 *** 上检查了这个问题的其他答案,但似乎都没有。

我从警报语句中得到的输出如下所示:

<html>

<head><title>

</title></head>

<body>

</body>

</html>5.5

最后的5.5是我唯一需要的值!

我已将 ajax 数据类型设置为文本,但即使这样也无济于事。

【问题讨论】:

您事先得到的其他文本是什么? 5.5 我得到了整个东西,而不仅仅是 5.5!跨度> 这个怎么样...您的 connect_db.php 文件中是否包含任何 HTML 代码?如果是这样,那么您应该消除它... 确实如此! 你建议删除它吗? 这解决了我的朋友的问题!我删除了 html 代码,它现在可以正常工作了!谢谢百万兄弟! 【参考方案1】:

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

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;

这样做可以让您在连接失败时处理文件中的数据库逻辑,这样您就可以优雅地处理失败的连接。

【讨论】:

@kirkbackus。我陷入了同样的问题。我在同一个 .php 文件中有 PHP/HTML,因为一些数据是从 html 表单中读取的,并作为变量传递给 php/mysql 查询。因此,我试图包含在一个文件中。但是,当我进行 ajax 调用时,我得到了完整的 html 输出,而没有请求 json 数据。你能提出替代方案吗?

以上是关于Ajax 调用返回整个页面而不仅仅是回显值的主要内容,如果未能解决你的问题,请参考以下文章

select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!

回显值并在循环内加在一起以形成总数[重复]

条件查询N多的情况下,回显解决方法。

编辑表单正确回显之前保存的数据,但不更新表单字段

单击收音机并将值回显到 php(wordpress 主题)

使用 mysql 和 php 从虚拟值回显 AVG 值