如何显示php文件的响应

时间:2013-07-05 10:13:28

标签: php jquery ajax

$这里我发送php代码这段代码的主要功能是从数据库中获取数据并将其发送回ajax jquery $

<?php 
$host="localhost";
$user="root";
$database="testme";
$password="";

$connect=mysql_connect($host,$user,$password);

$data= mysql_select_db($database,$connect);

// executing the query
$identity=$_REQUEST['id'];

$query="SELECT * FROM student_demo WHERE id=1";
$getdata=mysql_query($query);

$get_row1=mysql_fetch_array($getdata);

$data1=array('value1' => $get_row1[0],
        'value2' => $get_row1[1],
        'value3' => $get_row1[2],
        'value4' => $get_row1[3]);

    print json_encode($data1);


?>

$现在我发送的Jquery ajax代码正在接收响应,而不是在html $

的div标签中删除内容
$.ajax({
            url:'process.php',
            dataType:'json',
            success: function(data)
            {
                $("#id").append(data.value1);   
                alert(data.value1); 
            }
    });

$现在问题是注意到了添加到Html文件$

中的#id字段

4 个答案:

答案 0 :(得分:0)

在您的$data1数组中添加数据

$data1=array('value1' => $get_row1[0],
    'value2' => $get_row1[1],
    'value3' => $get_row1[2],
    'value4' => $get_row1[3]);

在AJAX响应中,你可以得到像这样的json编码数据

$.ajax({
        url:'process.php',
        dataType:'json',
        success: function(data)
        {
            $("#id").append(data.value1);   
            alert(data.value1); 
        },
        error: function(jqXHR, textStatus, errorThrown)
        {
           alert(textStatus + errorThrown);
        }
});

答案 1 :(得分:0)

好的,首先你没有在任何地方使用$identity。 无论如何,当你在js变量数据中得到响应时,你需要解析那个编码的字符串 var obj = jQuery.parseJSON(data); alert( obj.0 );

试试这可能会对你有所帮助。

答案 2 :(得分:0)

$getdata=mysql_query($query);
$resultSet = array();
if($getdata){

    while($resultRow = mysql_fetch_assoc($getdata)){
        $resultSet[] = $resultRow;
    }
}
echo json_encode($resultSet);

Javascript代码

$.ajax({
    url:'tt.php',
    dataType:'json',
    success: function(data)
    {                
        $.each(data, function(i, item) {
            // do your coding here
                    $.each(data, function(i, item) {
                var tmpRowData = data[i];
            $.each(tmpRowData, function(columnName, columnValue) {
            console.log(columnName+' = '+columnValue);
            });
        }); 
        }); 
    }
}); 

答案 3 :(得分:0)

我的回答并不是直接回答你的问题。但它会帮助您找到问题。

尝试使用google开发人员工具或firefox firebug插件。如果您有任何javascript错误,这些将显示。

根据您的代码,您可以使用相关工具执行以下操作。首先检查您的Ajax请求是否正在生成。如果它没有生成你可能会有javascript错误。如果它正在生成检查你得到的响应。如果你收到了正确的JSON响应,你可以通过注释行$("#id").append(data.value1);来检查它。因为你已经添加了一个警告,如果你得到了正确的响应它应该有效。

如果正在运行,请检查您的DIV是否正确命名了ID属性或任何HTML语法错误。

如果没有得到正确的响应,则问题在于PHP代码。现在尝试调试你的php代码。

$get_row1=mysql_fetch_array($getdata);
print_r($get_row1);
exit;

您是否按要求打印了数据阵列?如果不是,它可能是您的SQL或数据库的问题。

你可以检查mysql错误日志和apache错误日志,找出是否有任何PHP或mysql错误发生。只需按照几个调试,你就能找到自己的问题,至少发生错误的地方,客户端或者服务器方面,如果您发现社区将为您提供更多支持,因为每个人都能了解问题所在。