![](/img/trans.png)
[英]PHP Script with cURL works on one server…does not work on other server
[英]javascript post to .php file one server does not work - manual entry of URL in browser to same .php works
我有一些问题,了解如何转移javascript(客户端)变量,所以他们可以从PHP(服务器端)访问作为会话: 在PHP中获取iframe的“src”值?
现在我处于一种情况,我使用firebug尝试调试正在进行的,但它只是没有意义:
我有这个功能来更新iframe,我想传递iframe正在显示的页面:
function frameclick(pageurl)
{
$.post("session_write.php?",
{
frameurl : pageurl
}
$("#iFrame1").attr('src', pageurl);
console.log ('<?php echo "logout:".$langpath.$_SESSION['frameurl'];?>');
}
pageurl是ex。 “/lang/en/new.htm” - 如果我用firebug检查它,我也可以看到它说它正确传递它(也转换为/)。
我发布的脚本服务器端是这样的:
#session_write.php
<?php
session_start();
print_r($_GET['frameurl']);
if (isset($_GET['frameurl']))
{
$_SESSION['frameurl'] = $_GET['frameurl'];
print_r($_SESSION);
}
?>
发布到服务器上的PHP脚本将通过javascropt失败 - $ _SESSION ['frameurl']将是'',但如果我是ex。 像这样手动执行:(http):
//localhost/phpmenu/session_write.php?frameurl=lang%2Fen%2Fnew.htm
然后它将在$ _SESSION [“frameurl”]变量中正确设置。
我简直无法理解在javascript帖子和在浏览器中手动执行它之间有什么不同以及为什么它会导致我这个问题?
有想法的人吗? 谢谢
您正在使用.post
执行POST请求,但是当您在地址栏中键入URL时,这是一个GET请求。
$_GET
检索通过GET传递的任何参数,而$_POST
检索通过POST传递的任何参数。 因此,如果您使用.post
与Javascript但尝试使用PHP中的$_GET
进行检索,则无效。
将变量POST到PHP文件时,未设置$_GET
。 请改用$_POST['frameurl']
。 此外,看起来你在frameclick中错过了一个关闭frameclick
来结束post
调用。
您正在通过POST
请求传递数据并检索所有GET请求。 请改用$_POST
。 您可能也对$_REQUEST
感兴趣
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.