在初始页面加载时加载目标 ajax php 文件

Load target ajax php file on initial page load

我在 php 到 return 中有一个 AJAX 设置,并显示来自数据库的一些数据:

$("#sub_shops").click(function(){
                    var range_start = $("#start_shops").val();
                    var range_end = $("#end_shops").val();
                    $.ajax({
                        url:'process_shops.php',
                        data:{start:range_start,end:range_end},
                        type:'POST',
                        success:function(data){
                            $("#result_shops").html(data);
                        }
                    });
                });

页面 #start_shops#end_shops 上有两个输入,在填写数据并单击 #sub_shops 页面后,页面将输入的值发送到 process_shops.php。处理后,结果显示在#result_shops:

<div id="result_shops"></div>

问题:

如果为 #start_shops#end_shops 输入设置了默认值,我如何将其值发送到 process_shops.php 并在 #result_shops 中显示处理结果 初始页面加载?

提前致谢!

如果在输入中预先加载值,我认为最简单的方法是

$("#sub_shops").click(function(){
    // your code...
}).trigger('click');

首先将您的代码分解为一个函数:

function updateResultShops()
{
    var range_start = $("#start_shops").val();
    var range_end = $("#end_shops").val();
    $.ajax({
       ...
}

然后从点击处理程序中调用它:

$("#sub_shops").click(updateResultShops);

以及文档加载!

$(document).ready(updateResultShops);

现在,任何初始值都将在页面加载时以及您每次单击时立即发送。简单!

你可以把匿名函数变成一个函数。

function loadAjax()
{
   /* Commented this part since it wont run on the snippet.

   var range_start = $("#start_shops").val();
   var range_end = $("#end_shops").val();
   $.ajax({
     url:'process_shops.php',
     data:{start:range_start,end:range_end},
     type:'POST',
     success:function(data){
       $("#result_shops").html(data);
     }
   });
   
   */

  alert("blablabla");
}

$("#sub_shops").click(loadAjax); //Add event to click
$(document).ready(loadAjax); //Add event to run when page loads.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="background-color: black; height: 50px; width: 50px;" id="sub_shops"></div>

但是,如果您希望将功能保留在点击...中,您可以这样做:

$(document).ready($("#sub_shops").click);