如何在ajax中获取url变量

时间:2017-11-21 13:16:54

标签: javascript ajax url get

我正在使用get类型创建ajax请求,我已将变量传递给url并且请求正常工作。现在我已经创建了一个新按钮,并希望通过单击该按钮获取当前的url变量以进行进一步的处理。 变量不会显示在浏览器网址中,而是显示在ajax请求网址中。如何通过点击获取这些变量?

See the screenshot

 function pagi_ajax(records_per_page){

 var data = 'action=' + 'testing_ajax' + '&records_per_page=' + records_per_page;

    var url_string = window.location.href;
    console.log(url_string);

 $.ajax({
     url: "ajax_pagi.php",
     dataType: "json",
     type: "get",         
     data: data, 

success: function (result) {

    }
  });
}

<a href="javascript:void(0)" onclick="pagi_ajax(records_per_page);">Next</a>
<button class="pagi_button" onclick="pagi_ajax( <?php echo $records_per_page; ?>, 
 <?php echo $rec_limit[$i]; ?>, 
 <?php echo $total_records; ?>)"> <?php echo $i+1; ?> </button>

3 个答案:

答案 0 :(得分:0)

您已经拥有变量&#34; records_per_page&#34;是你如何创建网址。

要将其传递给另一个函数,您可以在成功调用中添加函数调用并传递所需的变量。

function pagi_ajax(records_per_page){

    var data = 'action=' + 'testing_ajax' + '&records_per_page=' + records_per_page;

    var url_string = window.location.href;
    console.log(url_string);

    $.ajax({
         url: "ajax_pagi.php",
         dataType: "json",
         type: "get",         
         data: data, 

    success: function (result, records_per_page) {
        // Your code here
        console.log(records_per_page)
        }
});

答案 1 :(得分:0)

虽然当前页面的网址可通过location对象获得,但没有标准API可用于访问您用XMLHttpRequest发出HTTP请求的网址。

如果你想获得这些信息,那么你必须自己将它存储在某个地方。

在这种情况下,您似乎已将该信息存储在全局records_per_page变量中。所以使用它。

答案 2 :(得分:0)

通常某些变量如:recordPerPage应该是一个constance并存储在某个地方。如果没有,您可以在pagi_ajax函数上缓存该变量并检索它以供以后使用。

您可以通过以下服务缓存该变量:

  pagingInfo = (function(){
    var info = {
      recordsPerPage: 10
    } 
    var get = function(){
      return info;
    }
    var setrecordsPerPage = function(value){
      info.recordsPerPage = value;
    }
    return {
      get: get,
      setrecordsPerPage: setrecordsPerPage
    }
  })()

  function pagi_ajax(records_per_page){
    pagingInfo.setrecordsPerPage(records_per_page);
  }

  function handleClick(){
    var recordsPerPage = pagingInfo.get().recordsPerPage
  }