Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将$u POST或PHP变量中的值存储到Javascript变量中_Javascript_Php_Mysql - Fatal编程技术网

将$u POST或PHP变量中的值存储到Javascript变量中

将$u POST或PHP变量中的值存储到Javascript变量中,javascript,php,mysql,Javascript,Php,Mysql,search.php //这就是我尝试过的。 我尝试添加了$search=$\u POST['search']并将其放入search.js中,如下var searchTerm=”“ search.js var ajax_arry=[]; var ajax_index =0; var sctp = 100; $(function(){ $('#loading').show(); var searchTerm = "<?php echo $search; ?>";

search.php

//这就是我尝试过的。
我尝试添加了
$search=$\u POST['search']
并将其放入
search.js
中,如下
var searchTerm=”“

search.js

 var ajax_arry=[];
 var ajax_index =0;
 var sctp = 100;
 $(function(){
   $('#loading').show();
   var searchTerm = "<?php echo $search; ?>"; // This is what I've tried.
 $.ajax({
     url:"scroll.php",
              type:"POST",
              data:"actionfunction=showData&page=1&search="+searchTerm, // This is what I've tried.
    cache: false,
    success: function(response){
       $('#loading').hide();
      $('#demoajax').html(response);

    }

   });
$(window).scroll(function(){

   var height = $('#demoajax').height();
   var scroll_top = $(this).scrollTop();
   if(ajax_arry.length>0){
   $('#loading').hide();
   for(var i=0;i<ajax_arry.length;i++){
     ajax_arry[i].abort();
   }
}
   var page = $('#demoajax').find('.nextpage').val();
   var isload = $('#demoajax').find('.isload').val();

     if ((($(window).scrollTop()+document.body.clientHeight)==$(window).height()) && isload=='true'){
       $('#loading').show();
   var ajaxreq = $.ajax({
     url:"scroll.php",
              type:"POST",
              data:"actionfunction=showData&page="+page,
    cache: false,
    success: function(response){
       $('#demoajax').find('.nextpage').remove();
       $('#demoajax').find('.isload').remove();
       $('#loading').hide();

      $('#demoajax').append(response);

    }

   });
   ajax_arry[ajax_index++]= ajaxreq;

   }
return false;

if($(window).scrollTop() == $(window).height()) {
   alert("bottom!");
}
});

});

解释

您不能在javascript中“存储”PHP变量。PHP是服务器端的,javascript在客户端工作。他们必须沟通

解决方案

 var ajax_arry=[];
 var ajax_index =0;
 var sctp = 100;
 $(function(){
   $('#loading').show();
   var searchTerm = "<?php echo $search; ?>"; // This is what I've tried.
 $.ajax({
     url:"scroll.php",
              type:"POST",
              data:"actionfunction=showData&page=1&search="+searchTerm, // This is what I've tried.
    cache: false,
    success: function(response){
       $('#loading').hide();
      $('#demoajax').html(response);

    }

   });
$(window).scroll(function(){

   var height = $('#demoajax').height();
   var scroll_top = $(this).scrollTop();
   if(ajax_arry.length>0){
   $('#loading').hide();
   for(var i=0;i<ajax_arry.length;i++){
     ajax_arry[i].abort();
   }
}
   var page = $('#demoajax').find('.nextpage').val();
   var isload = $('#demoajax').find('.isload').val();

     if ((($(window).scrollTop()+document.body.clientHeight)==$(window).height()) && isload=='true'){
       $('#loading').show();
   var ajaxreq = $.ajax({
     url:"scroll.php",
              type:"POST",
              data:"actionfunction=showData&page="+page,
    cache: false,
    success: function(response){
       $('#demoajax').find('.nextpage').remove();
       $('#demoajax').find('.isload').remove();
       $('#loading').hide();

      $('#demoajax').append(response);

    }

   });
   ajax_arry[ajax_index++]= ajaxreq;

   }
return false;

if($(window).scrollTop() == $(window).height()) {
   alert("bottom!");
}
});

});
  • 使用php创建一个隐藏的输入,您可以使用javascript对其进行精简

  • 使用
    ajax
    在javascript中调用php文件,使php文件返回所需的值

  • 在将提供给用户的PHP文件中使用嵌入式javascript。不过,我不建议这样做


  • 您应该在php文件中包含Js代码。因为您不能在js文件中编写php代码。而js代码可以用php编写

    所以你的代码应该是这样的

    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
        <input type="text" name="search" id="search" autocomplete="off">
        <button type="submit" class="btn btn-primary">Search</button>
    </form>
    
    <?php if ($_POST) {
        $search = $_POST['search'];
        ?> 
        <script>
            var ajax_arry = [];
            var ajax_index = 0;
            var sctp = 100;
            $(function () {
                $('#loading').show();
                var searchTerm = "<?php echo $search; ?>"; // This is what I've tried.
                $.ajax({
                    url: "scroll.php",
                    type: "POST",
                    data: "actionfunction=showData&page=1&search=" + searchTerm, // This is what I've tried.
                    cache: false,
                    success: function (response) {
                        $('#loading').hide();
                        $('#demoajax').html(response);
    
                    }
    
                });
                $(window).scroll(function () {
    
                    var height = $('#demoajax').height();
                    var scroll_top = $(this).scrollTop();
                    if (ajax_arry.length > 0) {
                        $('#loading').hide();
                        for (var i = 0; i < ajax_arry.length; i++) {
                            ajax_arry[i].abort();
                        }
                    }
                    var page = $('#demoajax').find('.nextpage').val();
                    var isload = $('#demoajax').find('.isload').val();
    
                    if ((($(window).scrollTop() + document.body.clientHeight) == $(window).height()) && isload == 'true') {
                        $('#loading').show();
                        var ajaxreq = $.ajax({
                            url: "scroll.php",
                            type: "POST",
                            data: "actionfunction=showData&page=" + page,
                            cache: false,
                            success: function (response) {
                                $('#demoajax').find('.nextpage').remove();
                                $('#demoajax').find('.isload').remove();
                                $('#loading').hide();
    
                                $('#demoajax').append(response);
    
                            }
    
                        });
                        ajax_arry[ajax_index++] = ajaxreq;
    
                    }
                    return false;
    
                    if ($(window).scrollTop() == $(window).height()) {
                        alert("bottom!");
                    }
                });
    
            });
        </script>
    
    <?php } ?>
    
    
    var ajax_arry=[];
    var ajax_指数=0;
    var-sctp=100;
    $(函数(){
    $(“#加载”).show();
    var searchTerm=“”;//这是我尝试过的。
    $.ajax({
    url:“scroll.php”,
    类型:“POST”,
    数据:“actionfunction=showData&page=1&search=“+searchTerm,//这是我尝试过的。
    cache:false,
    成功:功能(响应){
    $(“#加载”).hide();
    $('#demoajax').html(回复);
    }
    });
    $(窗口)。滚动(函数(){
    变量高度=$('#demoajax').height();
    var scroll_top=$(this.scrollTop();
    如果(ajax_arry.length>0){
    $(“#加载”).hide();
    for(var i=0;i
    你不能在
    .js
    中编写
    php代码
    文件尝试替换
    `to
    ,并在你的php文件中包含js。这只是发布时的一个错误。我已经编辑过了。试着在php文件中编写js代码,你的代码就会正常工作。你自己在做调试/测试吗?看起来和这张很像,都是在很短的时间内发布的。我不知道怎么做,你能给我举个例子吗?@ButterToast这三张照片中哪一张被接受了。再次感谢你。