向该脚本添加AJAX回调函数
如何将AJAX回调函数添加到此脚本中 此脚本使用AJAX加载内容而不刷新页面,但它不加载脚本。我想如果我添加一个回调函数,脚本就会加载向该脚本添加AJAX回调函数,ajax,Ajax,如何将AJAX回调函数添加到此脚本中 此脚本使用AJAX加载内容而不刷新页面,但它不加载脚本。我想如果我添加一个回调函数,脚本就会加载 $(document).ready(function () { var hash = window.location.hash.substr(1); var href = $('#nav li a').each(function () { var href = $(this).attr('href'); if (
$(document).ready(function () {
var hash = window.location.hash.substr(1);
var href = $('#nav li a').each(function () {
var href = $(this).attr('href');
if (hash == href.substr(0, href.length - 5)) {
var toLoad = hash + '.php #conten';
$('#conten').load(toLoad)
}
});
$('#nav li a').click(function () {
var toLoad = $(this).attr('href') + ' #conten';
$('#conten').hide('fast', loadContent);
$('#load').remove();
$('#conten').append('<span id="load"></span>');
$('#load').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0, $(this).attr('href').length - 5);
function loadContent() {
$('#conten').load(toLoad, '', showNewContent)
}
function showNewContent() {
$('#conten').show('normal', hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;
});
});
$(文档).ready(函数(){
var hash=window.location.hash.substr(1);
var href=$('#nav li a')。每个(函数(){
var href=$(this.attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad=hash+'.php#conten';
$('#conten')。加载(toLoad)
}
});
$(“#nav li a”)。单击(函数(){
var toLoad=$(this.attr('href')+'#conten';
$(“#conten”).hide('fast',loadContent);
$(“#加载”).remove();
$('#conten')。附加('');
$('加载').fadeIn('正常');
window.location.hash=$(this.attr('href').substr(0,$(this.attr('href').length-5);
函数loadContent(){
$('#conten').load(toLoad',showNewContent)
}
函数showNewContent(){
$('#conten').show('normal',hideLoader());
}
函数hideLoader(){
$('加载').fadeOut('正常');
}
返回false;
});
});
如果我理解正确,核心问题是load()无法工作。这可能是因为您的url有一个哈希标记,前面有一个空格:“url#conten”
首先,哈希必须连接到url:“url#conten”。
第二,url中的哈希被服务器忽略;它们仅由客户端(浏览器)解释
如果这没有帮助,我建议使用浏览器中的调试工具查看服务器的响应。
要加载的第二个参数可以是回调,如果您也要向服务器传递数据,则第三个参数可以是回调:
$('#element').load(url, function() { console.log('content loaded'); });
$('#element').load(url, {some: 'parameters'}, function() { console.log('content loaded'); });
在不知道页面布局和请求页面的一般示例的情况下,很难猜测会发生什么,但是:
如果这些都没有帮助,您是否有一个HTML示例来演示您可以提供的问题?u您认为脚本没有加载是因为load()。。。。那么,我应该在这个代码中更改什么??@cjc343您是对的;我不知道这个复杂的语法!默罕默德:当时还是很好奇空格的问题是什么……在stackoverflow感谢某人的通常方式是接受正确的答案,或者投票表决。@Tom没有空格#conten会成为url的一部分(如您所述),并且会被忽略(如您所述)。在空间存在的情况下,load正在load获取的页面的DOM中搜索#conten。如果获取的页面上不存在#conten,则没有可插入的内容。似乎#conten存在于当前页面上,但不存在于检索到的数据中。虽然这是一个有效的用法,但它似乎不是人们想要的。