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