我有这个url来调用分类法。php,通过按下面的代码按钮显示过滤后的帖子:
http://myurl/?meta_key=post_views_count&orderby=meta_value&order=ASC
这是我正在使用的JS:
$(document).ready(function(){
$.ajaxSetup({cache:false});
$("#hot a").click(function(){
var post_id = $(this).attr("rel")
$(".postbox_wrapper").html(\'<span class="filter_posts"><img src="<?php bloginfo (\'template_directory\'); ?>/images/287.gif"></span>\');
$(".postbox_wrapper").load(jQuery(this).attr("href") + " .postbox_wrapper")
return false;
});
});
正如我所希望的那样,这个调用工作得很好——内容显示出来时没有页面重新加载。
问题是,JS没有加载到ajaxloaded页面上,我真的无法加载它。我在stackexchange上找到了许多版本,但都没有成功。
例如,需要将其加载到ajaxed调用中:http://myname.disqus.com/count.js?ver=3.4.1
有人有主意吗?
非常感谢你。
公元
最合适的回答,由SO网友:xsonic 整理而成
在您的complete
的回调load
功能:
$(".postbox_wrapper").load(
jQuery(this).attr("href") + " .postbox_wrapper",
function(response, status, xhr) { // complete callback
// create a empty div
var div = document.createElement(\'div\');
// fill div with response
div.innerHTML = response;
// take correct part of the response
var ref = $($(div).find(\'.postbox_wrapper\').html());
// filter response for script tags
ref.filter(\'script\').each(function () {
// execute the scripts
$.globalEval(this.text || this.textContent || this.innerHTML || \'\');
});
}
});
我还建议您在通话失败时添加一条错误消息。请参见上的示例2
http://api.jquery.com/load/我很难弄明白,我尝试了stackoverflow上找到的所有答案。最后我找到了这个德国网站。在那里,您可以看到完整的代码:http://labor.99grad.de/flash/agentur/wiesbaden/jquery/script-tag-bei-ajax-response-ausfuhren/