通过AJAX请求

时间:2017-08-19 08:08:23

标签: php jquery ajax

我在编码时面临一个问题,那就是我想从发送脚本中检索相同的数据到另一个让我解释

<button type="button" name="btn_more" data-vid="<?php echo $product; ?>" 
id="btn_more">Load more data</button> 
<input type="hidden" name="category" value="<?=$category;?>" id="category">

我必须先按钮调用ajax并传递参数,第二个按钮保存数据库中的数据

$(document).ready(function(){  
    $(document).on('click', '#btn_more', function(){  
        var last_product_id = $(this).data("vid"); //this stands for <button>
        var cat=$("#cat").val(); //this one for hidden input
        $('#btn_more').html("Loading...");  
        $.ajax({  
            url:"ajax/shopProduct.php",  
            method:"POST",  
            data:{last_product_id:last_product_id, category:category},  
            dataType:"text",  
            success:function(data) {  
                if(data != 'No rows') {  
                    $('#remove_row').remove();  
                    $('#load_data_table').append(data);  
                } else {  
                    $('#btn_more').html("No results");   
                }  
            }  
        });  
    });  
});

在shopProduct.php这里我得到了帖子数据

if($_POST) {  
    $let = filter_var($_POST["last_product_id"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); 
    $category= filter_var($_POST["category"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
}

基于这两个值,我创建一个SQL语句来检索数据,并显示一些信息作为输出,并再次显示加载更多按钮

<div id="remove_row"><button type="button" name="btn_more" data-vid="<?php 
 echo $product; ?>" id="btn_more">Load more data</button></div>

实际问题是$category值在其他脚本的第二次单击调用时停止存在。如何从第一个脚本连续获取$category值到当前脚本?

1 个答案:

答案 0 :(得分:1)

您使用了错误的选择器。改变这一行 -

var cat =$("#cat").val()

var category = $("#category").val()