Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
将php$ëu GET[';';]与Javascript函数相结合_Php_Javascript_Xmlhttprequest - Fatal编程技术网

将php$ëu GET[';';]与Javascript函数相结合

将php$ëu GET[';';]与Javascript函数相结合,php,javascript,xmlhttprequest,Php,Javascript,Xmlhttprequest,我目前正在编写一个图库,到目前为止,它一直将AJAX和Javascript与xml文件相结合,以加载所有图像。现在我来到了有趣的部分,我点击一个图像进入内部画廊。(在第一页上,他们加载每个会话的一个图像,当按下一个图像时,它将继续加载该会话的其余图像。) 我对AJAX的问题(我相信这也有一个很好的解决方法!)是当重新加载页面时,它会自动返回到会话索引,因为没有URL更改 到目前为止,我所做的是在一个文档中放置一个javascript函数,它只加载库索引。这是完美的 在另一个文件中,我得到了几乎相

我目前正在编写一个图库,到目前为止,它一直将AJAX和Javascript与xml文件相结合,以加载所有图像。现在我来到了有趣的部分,我点击一个图像进入内部画廊。(在第一页上,他们加载每个会话的一个图像,当按下一个图像时,它将继续加载该会话的其余图像。)

我对AJAX的问题(我相信这也有一个很好的解决方法!)是当重新加载页面时,它会自动返回到会话索引,因为没有URL更改

到目前为止,我所做的是在一个文档中放置一个javascript函数,它只加载库索引。这是完美的

在另一个文件中,我得到了几乎相同的代码,但是它加载了加载其余会话映像的函数,但是我没有让它工作

下面是应该加载特定会话映像的脚本

<script type="text/javascript">
    window.onload = displayGallery(<?php echo $_GET['session']; ?>);
</script>

<div id="gallery">

</div>
因此,为了澄清这一点,我在胡说八道,我需要帮助使displayGallery(SessionAt)在从url获取基本变量后实际运行

我对Javascript非常熟悉。到目前为止,大多数脚本都是用php编写的

编辑:

解释一下这个网站:这是我为一个朋友制作的画廊。除了她之外,其他人没有登录,所有子页面(开始、图库、关于等)都是通过php“include”加载的

XML:

<gallery>
    <session>
        <sessionName>Beauty</sessionName>
        <path>gallery/beauty/</path>
        <item>
            <file>_DSC2331.jpg</file>
            <name>Picture 1</name>
        </item>
        <item>
            <file>_DSC2339.jpg</file>
            <name>Picture 2</name>
        </item>
        <item>
            <file>_DSC2350.jpg</file>
            <name>Picture 3</name>
        </item>
        <date>2011-08-03</date>
    </session>
    <session>
        <sessionName>Red</sessionName>
        <path>gallery/red/</path>
        <item>
            <file>_MG_6227-web.jpg</file>
            <name>Picture 1</name>
        </item>
        <item>
            <file>_MG_6235-web.jpg</file>
            <name>Picture 2</name>
        </item>
        <item>
            <file>_MG_6240-cropped-web.jpg</file>
            <name>Picture 3</name>
        </item>
        <date>2011-08-03</date>
    </session>
</gallery>
但是当把它改成

window.onload = displayGallery('Red');

手动和使用php。。。没什么。

我不确定我是否理解你在试图做什么。但是试试这些东西

**。创建一个javascript变量,该变量将保存GET['session']的值。然后使用这个变量。它也更容易调试

**。window.onload的insdead使函数调用它“init”,并在body标记中写入:

<head>
 <script>
   function init(){
     //displaying gallery or other stuff
  }
 </script>
</head>
<body onload="init();">

在多次阅读您的描述之后

1) GET variables仅在URL中为例如index.php?session=model1提供变量时有效

2) 您的意思是后退按钮不起作用,因为页面没有改变,如果正确使用get变量,这是错误的


您的索引页应该链接到每个会话页,如下所示:
只有这样,您才能使用javascript在库中提取变量。php

您的代码对我来说运行良好。唯一不同的是我使用了
而不是
window.onload=displayGallery('Red')

正如Martin指出的,在加载页面之前,使用
window.onload
尝试查找
,给出一个错误:document.getElementById(“gallery”)为null


在调用displayGallery()之前,使用
会等待页面完成加载。

在我看来,您应该使用XSLT而不是您所做的…将其标记为WIKI,因为它不会回答您的特定问题
而不是
window.onload=displayGallery()

使用

window.onload=function(){

displayGallery(将“AJAX和Javascript”结合在一起是什么意思?AJAX是Javascript(异步Javascript和XML),我真正想通过我使用的方法来获得它。AJAX用于获取XML文件和其他所有内容的Javascript。我知道它们是一样的,这只是我的一个错误解释。:)我想我理解你想要实现什么,但我有点困惑你是如何实现它的,你的确切意思是什么?你在这里展示的代码不是真正的AJAX,当你使用AJAX时,页面不应该被重新加载。我使用了一个我从前面的问题中得到的脚本,这个脚本是:如果你echo$\u GET['session'],你得到了什么吗?没有用户,而且我不能在body标记中包含它,因为我用php加载了所有子页面“include(“”;”。我认为OP所说的“session”是指画廊会话(例如:不同的模型)。至少这是我从中得到的。问题仍然在于当页面加载时,我需要传递的函数中的变量。我希望人们能够按reload,而不必从根目录走到他们所在的会话。(两次或三次单击,但对某些人来说已经够烦人了。)这就是为什么我必须从url获取会话名称并将其添加到javascript函数中。jQuery可以工作吗?如果可以,如何工作?我再一次解释得很糟糕,对此表示抱歉。我使用?session=something来获取“某物”(例如)问题不在于返回按钮(因为我还没有创建返回按钮)。问题在于库中的所有内容都加载了javascript,所以url保持不变。我需要运行“displayGallery();”,但这不起作用。我得到了“会话”"在url中。Get变量仅适用于更改url,您必须重新加载页面才能通过Get更改页面。如果您想在页面中更改内容,您将不必使用Javascript变量。这实际上为我提供了解决方案!我无法使用,因为我在php中加载页面,这意味着如果我将其放入正文中,所有内容都会发生冲突。但我将unde放在r gallery div,以便在读取所有其他内容后加载,然后可以找到正确的div.:)我试过了,效果很好。@Richard:想得好。我不知道为什么我没有想到它。:-pDon不知道你家现在几点了,但现在是晚上02:15。那时可以不想任何事情。@Richard:现在才8:30,所以我真的没有理由。:)你的Javascript做得很好。我推荐你。如果可以的话,我想建议你研究一下jQuery。它让AJAX变得简单多了,你可以使用大量插件来实现lightbox、fades、carousels等功能。我对jQuery进行了一些研究,实际上我正在我的网站上使用lightbox。到目前为止,它的工作非常有魅力。谢谢你的赞扬和帮助。据说就是这样一个插件每天都能学到新东西。:)似乎有效,但对knowl来说
window.onload = displayGallery;
window.onload = displayGallery('Red');
<head>
 <script>
   function init(){
     //displaying gallery or other stuff
  }
 </script>
</head>
<body onload="init();">
session_start();
window.onload = function() {
    displayGallery(<?php echo "'" . $_GET['session'] . "'"; ?>);
};