Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改ajax内容加载上php变量的值_Php_Jquery_Html_Ajax - Fatal编程技术网

更改ajax内容加载上php变量的值

更改ajax内容加载上php变量的值,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我原以为这会很简单,但很明显,经过几天的试用,没有成功,我不得不请求人们的帮助,到处寻找 基本上创建一个PHP模板,在基础4框架上没有很多指导,它是一个响应框架。现在这个框架相当基本,所以要添加页面转换,我必须使用jquery来完成我认为是ajax调用的工作,从另一个页面获取“内容”,并将其显示在模板页面index.html上 我目前正在使用以下 <script> $(document).ready(function() { $('nav.top-bar > sectio

我原以为这会很简单,但很明显,经过几天的试用,没有成功,我不得不请求人们的帮助,到处寻找

基本上创建一个PHP模板,在基础4框架上没有很多指导,它是一个响应框架。现在这个框架相当基本,所以要添加页面转换,我必须使用jquery来完成我认为是ajax调用的工作,从另一个页面获取“内容”,并将其显示在模板页面index.html上

我目前正在使用以下

 <script>
 $(document).ready(function() {
 $('nav.top-bar > section.top-bar-section > ul.right > li > a').click(function()    {

    var toLoad = $(this).attr('href')+' #content';
        $('#content').hide(1000,loadContent);
        $('#load').remove();
        $('#main_wrapper').append('<span id="load">LOADING...</span>');
        $('#load').fadeIn('fast');
                window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0);
        function loadContent() {
        $('#content').load(toLoad,showNewContent);
        }
        function showNewContent() {
        $('#content').show(1000,hideLoader);
        }
        function hideLoader() {
        $('#load').fadeOut('fast');

        }
return false;

        }); 
  });
  </script>

$(文档).ready(函数(){
$('nav.top-bar>section.top-bar-section>ul.right>li>a')。单击(函数(){
var toLoad=$(this.attr('href')+'#content';
$(“#content”).hide(1000,loadContent);
$(“#加载”).remove();
$('main_wrapper')。追加('LOADING…');
$('加载').fadeIn('快速');
window.location.hash=$(this.attr('href').substr(0,$(this.attr('href').length-0);
函数loadContent(){
$(“#content”).load(toLoad,showNewContent);
}
函数showNewContent(){
$(“#内容”).show(1000,hideLoader);
}
函数hideLoader(){
$('加载').fadeOut('快速');
}
返回false;
}); 
});
现在,在我改用ajax和jquery之前,我正在操作菜单“active”类和页面名称,在第一行的每个页面上设置一个简单的变量,列为$page='',然后是页面名称

现在,我用ajax加载内容,即使我在新页面的内容中包含了这个变量,它也不会在菜单或菜单标题中更新

我很抱歉我写的东西不正确,我是这个论坛的新手

提前谢谢你的帮助
:)我希望有人能解释我需要做什么以及如何做,而不是像我这样一个学习者那样复制和粘贴代码:)

你可能想加载页面并在jQuery中解析结果,以获得新页面的
标记,并设置请求页面的
标记


我唯一要问的是:你为什么要这样做?您是否希望在您的网站中使用AJAX页面导航而不是传统的传播导航?

由于极度混乱,我只能回答您问题的一部分,因此:

首先,以下是更改url的原因:

window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0);
您正在使用该行修改它。然而,这句话有一个有趣的小怪癖:

attr('href').length-0
最后。为什么是-0?那没什么区别。我会把它清理干净

除此之外,我对你的问题非常困惑,让我试着重新表述一下,你可以告诉我我遗漏了什么

您希望用户单击导航链接,并使用jQuery通过AJAX调用加载该链接的内容,然后用新加载的页面替换页面上的内容,对吗

当您说“在主页的顶部,我有变量$page=然后是页面名”时,“主页”是什么意思?你是说这是一行HTML文本吗?你没有包括在这里的脚本的一部分?PHP代码的一部分

然后你说“我试着把标签放在一个div中,它会随着上面的内容而改变”——什么是“标签”

通过阅读这篇文章4到5次,我几乎看不出上面对你想做什么的理解

请对你的问题进行重的编辑-这很难理解

最后,为什么要尝试替换用户单击链接并加载内容的浏览器功能?这就是浏览器的用途。浏览器通常(或其某种形式)在url栏中也有一个加载指示器,方便用户知道内容仍在加载

function loadContent() {
    $('#content').load(toLoad,showNewContent);
}
首先,查看jQuery文档中的加载方法:

你的问题是它需要三个参数,而你要传递两个。如果列出了多个参数,并且您只想传递其中的一些参数,那么仍然需要为要“跳过”的参数提供空值。尝试将您的呼叫更改为:

function loadContent() {
    $('#content').load(toLoad, null, showNewContent);
}
您会注意到我正在传递“null”。如果不起作用,请传递一个空字符串,如下所示:

function loadContent() {
    $('#content').load(toLoad, "", showNewContent);
}

第二个参数是与请求一起传递的数据。这是您列为回调的第三个参数,据我所知,这是您犯错误的地方。

Hi,您使用$page的目的是什么,以及如何使用?它的用意是什么?您可能想跟踪上次加载的内容,以便在重新访问时打开同样的内容吗?对于记录,基金会是一个CSS框架,CSS样式支持响应式设计(我没有意识到功能性的影响)。.我想我建立了一个php模板,最初我对nav li项有ifelse条件,但现在我等待页面之间的转换,我被告知使用jquery。唯一的缺点是当我把
放在和导航标题中,然后把页面变量放在内容中,它不会在这两个页面中更新吗?该解释有助于您在呈现页面时无法“更新”PHP变量。如果您想在HTML页面呈现后对其进行更改,则需要使用客户端技术,如JavaScript。PHP脚本已经被处理过了,你不能改变变量。这就是我要问的“如何”改变它,也就是在上面列出的函数中,我试图在变量周围加一个div,然后改变它的内容,但没有按照我说的那样工作:使用像JS这样的客户端技术。您不能更改PHP变量,一旦脚本执行并呈现HTML,它就不再存在。你不能改变它。如果可以的话,想象一下有多少网站会因为更改数据库凭据等配置变量而受到危害。忘记PHP和变量;你只剩下DOM了。编辑过对不起:(th