该代码工作:
startSlideshow(<?php echo json_encode(glob("photos-animaux/*.jpg"))?>);
代码不要:
$.post("",{'folder':'animaux'});
startSlideshow(<?php echo json_encode(glob("photos-".$_GET["folder"]."/*.jpg"))?>);
为什么?,我做错了什么?,帮帮忙! 为什么愚蠢的PHP功能只是没有使字符串正确!哈啊!
---新的信息---- 这项工作:
startSlideshow(<?php echo json_encode(glob("photos-".$_GET["folder"]."/*.jpg")) ?>);
因为如果我手动输入地址栏?folder = animaux ... bam!工作
所以问题就在那里:$ .get(“photo-portfolio.php”,{folder:“animaux”});
仍然不知道在哪里!
答案 0 :(得分:2)
如果你正在使用来自JQuery的$ .post(),你应该使用$ _POST ['folder']来访问你的变量。如果你使用$ .get(),那么在PHP中使用$ _GET ['folder']。尝试将$ _GET更改为$ _POST。
答案 1 :(得分:1)
将$_GET["folder"]
更改为$_POST["folder"]
?
您可以转储$_POST
,以确保获得正确的信息..
echo '<pre>', print_r( $_POST, 1), '</pre>';
答案 2 :(得分:1)
我希望你不是真的把这两行写在一起,希望他们互动,是吗?
$.post("",{'folder':'animaux'});
startSlideshow(<?php echo json_encode(glob("photos-".$_GET["folder"]."/*.jpg"))?>);
PHP在服务器上运行,在浏览器中运行Javascript。在上面的两行中,如果这样写,那么在$.post()
被调用的时候PHP就已经很久了。
PHP处理服务器上的代码并将其发送到浏览器:
$.post("",{'folder':'animaux'});
startSlideshow(['something.jpg', 'something2.jpg']);
浏览器执行此代码:
{'folder':animaux'}
发布到""
(无效)。['something.jpg', 'something2.jpg']
开始播放幻灯片(已在页面加载时决定)。我希望你知道这两个阶段的过程。