当我点击链接时,我需要通过post
发送ajax
。问题是由于打开了链接而导致请求被删除。
jQuery('#pagination a').click(function(){
jQuery.post('index.php?option=com_component',
{checked_sites_for_session: jQuery('.selected-site input[type="checkbox"]').map(function () {return this.value;}).get()}
).success(function(){window.location = jQuery(this).attr('href')});
console.log(jQuery(this).attr('href'));
return false;
});
但问题再一次(感谢joomla)在url中 - 就像/~user/joomla/index.php/view-sites?view=sites&page=2
- 你看到它从斜线开始,但真正的链接是http://localhost/~user/joomla/index.php/view-sites?view=sites&page=2
,但在源头我有{ {1}} '$ option.'page =' $左'。“// ....`
所以我需要一些“多用途域解析解决方案”或者只是停止joomla更改我的URL。
答案 0 :(得分:2)
使用本机element.href将获得包括域的整个href,而不仅仅是属性值,还有在$,post函数中使用的this
关键字的范围问题:
$('#pagination a').on('click', function(e){
e.preventDefault();
var self = this;
$.post('index.php?option=com_component',
{checked_sites_for_session: $('.selected-site input[type="checkbox"]').map(function () {
return this.value;
}).get();
}
).success(function(){
window.location = self.href;
});
});
根据您发布的链接,它们看起来根本不相同,因此您可能需要为此解决问题,因为某些CMS解决方案会使用重写等。
答案 1 :(得分:-1)
这个问题
jQuery('#pagination a').click(function(e){
e.preventDefault();
var me=this;
jQuery.post('index.php?option=com_component',
{checked_sites_for_session: jQuery('.selected-site input[type="checkbox"]').map(function () {return this.value;}).get()}
).success(function(){window.location = jQuery(this).attr('href')});
console.log(jQuery(me).attr('href'));
return false;
});