javascript - AJAX 到 PHP - 不显示新数据

标签 javascript php html ajax

我有一小行可以单击的图像,并且可验证性被 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

并收到它。

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

任何关于原因的想法..

提前致谢。

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

最佳答案

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

关于javascript - AJAX 到 PHP - 不显示新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47878454/

相关文章:

javascript - 当编辑器在对话框之前创建时,CKEditor 4 在 jquery 对话框中损坏

javascript - 在 QUnit 中使用多个过滤器 url 参数

javascript - 弹出窗口中获取选定文本的按钮 - Chrome 扩展

javascript - 更改内联 onkeyup 函数?

php - 将更新表单复选框数组设置为 0 而不是 NULL

php - CakePHP 需要有关组织模型的建议

php - 如何获取当前帖子作者 URL 及其显示名称

javascript - 更改复选框和单选按钮标签的字体大小

php - 通过 PHP 更新数据库

html - 禁用 Angular 形式的输入