我有一个JavaScript页面,它通过ajax将页面加载到JQuery选项卡中。
当我尝试从通过ajax加载的页面调用父页面中存在的函数时,它会抱怨它无法找到该函数。
这是正常的行为吗?有没有人能解决这个问题?
例如:
function test() {
My code here...
}
function openMainGridRecord(Sequence,Module) {
$('#Tabs').jqxTabs('addLast', 'View Record*', '<div id=new' + index + ' style="height:99%"></div>')
loadTabData('editrecord.php', index);
index++;
}
loadPage('mainGrid.php', 2);
我的名为mainGrid.php的页面中也有javascript,但我想调用上面页面中存在的函数。
所以我想在mainGrid.php中使用一些javascript来调用我的test()函数。 感谢
答案 0 :(得分:1)
根据您的描述我相信我知道这个问题。父页面中加载的内容未加载到Ajax请求调用的页面中。 PHP是无状态的,也就是说每次打开页面时它都是一个没有加载数据的新页面。
当您发出Ajax请求时,实际上是在服务器上打开一个新页面。这就是您无法访问父页面上的功能的原因。
解决方案是让两个页面都可以使用公共文件(使用include
),然后将该函数放入该文件中。将它包含在父页面的顶部和Ajax页面的顶部。