我正在使用code-igniter framework。当我单击或选择panel1以下任何选项时,我为调用Ajax函数所做的每次单击和选择事件都会在panel2 DIV标记中显示。
我在地址栏中看不到完整的URL。如何在浏览器地址栏上显示ajax请求URL。

javascript - 如何使Code Igniter Ajax请求URL出现在浏览器URL中。-LMLPHP

var ajaxUrl = '<?php echo base_url(); ?>' + 'main/userinfo/' + gender + '/' + age_min + '/' + age_max;
$.ajax({
  url: ajaxUrl,
  dataType: "JSON",
  type: "POST",
  success: function(retdata) {


  });

最佳答案

即使在SO中也有大量文章,它们解释了如何在不刷新页面的情况下更改地址栏的url(例如,在执行ajax调用时)。基本思想是使用HTML5历史记录API(pushState())。就像是:

var ajaxUrl = '<?php echo base_url(); ?>' + 'main/userinfo/' + gender + '/' + age_min + '/' + age_max;
$.ajax({
  url: ajaxUrl,
  dataType: "JSON",
  type: "POST",
  success: function(retdata) {

   window.history.pushState({"html":retdata.html,"pageTitle":retdata.pageTitle},"", ajaxUrl);
  });


对于旧浏览器,此libaray还有一个名为history.js的polyfill。

09-07 21:44