AJAX到PHP - 不显示新数据

问题描述 投票:0回答:1

我有一小部分图像,我可以点击,一个可验证的ajaxed到一个PHP文件的数据库查询..它收到可靠的,并做正确的查询。问题是。而不是在我的页面上更新HTML。它只是回到我的控制台......有人知道这是为什么。我的代码似乎足够合法......

<div id='smallpagination' class='smallpagination'>

<script>
function showvid(vid){
    console.log ("sent"+vid);
    var $vid = vid;

     $.ajax({
                type: "POST",
                url: "smallpaginationdata.php", 
                data: {id: $vid}, 

                success: function(vid){
                    console.log(vid)
                },
                    error: function(){
                        alert("failure");
                    }
            });

};

</script>


<?php

//search according to chosen search critera NOT LIMITED//
include ("conect.php");

$startit = 0;

$startfrom=rand(0,20); 

$displayto=$startfrom+10;
$search=""; 


$startedfrom=$startfrom;


$sql = "SELECT * FROM testdata
WHERE title LIKE '%%$search%%'
LIMIT $startfrom , $displayto
";



                              // check how many results //
$result = $conn->query($sql);

$row_cnt = $result->num_rows;


while($row = mysqli_fetch_assoc($result)) { 


$videos = $row['videos'];

$v_id = $row['id']; //<!---important is Video ID and needed for video click selection---->

$id = $row['id'];

$Name = $row['Name'];
if (empty($Name)) {$Name='Annonymous';}


$image = $row['image'];

$info = $row['info'];
if (empty($info)) {$info='Contact Listee (if Provided) , No Item Information Given';}

$phone = $row['phone'];
if (empty($phone)) {$phone='See Listing';}

$title = $row['title'];

$locate = $row['locate'];
if (empty($locate)) {$locate='Not Provided';}

$postcoded = $row['postcode'];
if (empty($postcoded)) {$postcoded='???';}

$price= $row['price'];
if (empty($price)) {$price='?';}
if ($price=='0') {$price='?';}

$date = $row['stamp'];
if (empty($date)) {$date='';}

if ($startit<1) {$gotid=$row['id']; $startit=$startit+1;};
    $vidd= $row['id']-0.01;
    $pidd= $row['id']-0.02;
    $type = $row['type'];
    $showinglocate=$row['id']-0.03;
    $showingphone=$row['id']-0.04;
    $displaytype="minlist";
            //Thumbnails sized listings     
            if ($displaytype=="minlist") {

            echo"
            <div class='floaterminhomepage'>
            <div class='innerfloaterminhomepage' >
            ";

            if (!empty($videos)) { 

            echo "

            <video id='$v_id' style='position:absolute;  top:0%; left:0%; width:100%; height:100%; background-size: cover; object-fit:fill;' preload='metadata' onclick='showvid($v_id);'>

            <source src='vid/{$row['videos']}.mp4' type='video/mp4'>
            <source src='vid/{$row['videos']}.mp4' type='video/ogg'>
            <source src='vid/{$row['videos']}.mp4' type='video/webm'>
            </video >



            "; }

            if (empty($videos) && empty($image)) { 

            echo "

            <img src='pageimages/blank.png' style='position:absolute; top:0%; left:0%;  width:100%; height:100%;'>
            "; }
            if (!empty($image) && empty($video))  { 

                    echo "


                    <img src='image/{$image}'  style='position:absolute;  top:0%; left:0%; width:100%; height:100%; background-size: cover; object-fit:fill;'>


                    "; }
            echo "

            </div> 
            </div> 

            "; } 
};
    ?>

</div> <!---smallpagination--->

<?php

include('smallpaginationdata.php');

?>


SEND ID TO THIS PHP FILE...

<?php
include ("conect.php");

if (isset($_POST['id'])) {

$gotid = strip_tags($_POST['id']); 
};

echo "recieved $gotid";

$sql = "SELECT * FROM testdata
WHERE id=$gotid;
";

 // check how many results //
$result = $conn->query($sql);
$row_cnt = $result->num_rows;
while($row = mysqli_fetch_assoc($result)) { 
$videos = $row['videos'];
$v_id = $row['id']; //<!---important is Video ID and needed for video click selection---->
$Name = $row['Name'];
if (empty($Name)) {$Name='Annonymous';}
$image = $row['image'];
$info = $row['info'];
if (empty($info)) {$info='Contact Listee (if Provided) , No Item Information Given';}
$phone = $row['phone'];
if (empty($phone)) {$phone='See Listing';}
$title = $row['title'];
$locate = $row['locate'];
if (empty($locate)) {$locate='Not Provided';}
$postcoded = $row['postcode'];
if (empty($postcoded)) {$postcoded='???';}
$price= $row['price'];
if (empty($price)) {$price='?';}
if ($price=='0') {$price='?';}
$date = $row['stamp'];
if (empty($date)) {$date='';}
$type = $row['type'];
};


THIS IS ECHOD INTO THE CONSOLE RATHER THAN IN THE PAGE???


echo "
<div id='pointerbox' class='pointerbox'>
</div>  
    <div id='smallpagdata' class='smallpagdata'>
     <h5> {$gotid} </h5>
    <h4><u>{$title}</u></h4>
    <p style='color:crimson; margin-top:0px;'>£{$price}</p>
    {$info}

    <p style='color:crimson; margin-top:-2px;'>{$locate}</p>
    <p style='color:blue; margin-top:-20px;'>{$Name}</p>
    <p style='color:crimson; margin-top:-14px;'>{$phone}</p>

    <p style='color:green; margin-top:0px;'>Thank you for viewing</p>
    <p style='color:green; margin-top:-12px;'>Double Click image to view full listing & videos</p>
    </div>  
";
?>

它发送正确的ID

接收它。

并且在我的控制台m中显示正确的数据,而不是在html中更新它...

任何想法为什么..

提前致谢。

p.s html已经在html中显示一次没有问题,但是一旦我onclick并发送ajax,它只是回到控制台?

javascript php html ajax
1个回答
2
投票

你应该将响应添加到div而不是在success函数中使用console.log。我不知道如何在jquery中完成它,但查找它应该非常简单。

© www.soinside.com 2019 - 2024. All rights reserved.