如何在php中将GET值传递给另一个url?获取价值转发
好的,我正在使用Jquery的AJAX函数,它在传递带有http地址的URL时遇到了问题。因此,我希望“获取”get值并将其发送到另一个URL—因此:一个本地php文件开始传递get值,然后将get值转发到另一个URL 也许卷曲就是答案?我不知道。这一定是一个非常简短的答案,我知道 伪代码:如何在php中将GET值传递给另一个url?获取价值转发,php,jquery,ajax,url,cross-domain,Php,Jquery,Ajax,Url,Cross Domain,好的,我正在使用Jquery的AJAX函数,它在传递带有http地址的URL时遇到了问题。因此,我希望“获取”get值并将其发送到另一个URL—因此:一个本地php文件开始传递get值,然后将get值转发到另一个URL 也许卷曲就是答案?我不知道。这一定是一个非常简短的答案,我知道 伪代码: //retrieve the GET values $var retrieve [GET] //passing it to another url send get values to url ($var
//retrieve the GET values
$var retrieve [GET]
//passing it to another url
send get values to url ($var, url_address)
编辑:这是一个针对JavaScript的跨脚本解决方案
标题(“位置:http://otherurl.com/page?var=“$var)
如果要排除GET参数,只需在使用http\u build\u query()
之前unset()
。最好包括一个希望传递的$\u GET
参数的白名单
header('Location: http://example.com/new?' . http_build_query($_GET));
exit;
。如果要重定向用户,请不要忘记退出()
header('Location: http://example.com/page.php?' . http_build_query($_GET, '', '&')); die();
但是,如果您只想获取页面,请使用以下命令:
file_get_contents('http://example.com/page.php?' . http_build_query($_GET, '', '&'));
明白了!谢谢Alix Axel
echo file_get_contents('http://example.com/page.php?'. http_build_query($_GET, '', '&'));
也许只有我一个人,但我不能完全理解这个问题。这是JS还是PHP问题?在执行所有这些操作时,用户看到了什么?用户什么也看不到,这是ajax。正在使用GET发送值。但是jQery.ajax不喜欢http。因此,我试图将这些值转发到我正在使用的服务[另一个url]。有道理吗?阅读这里的jQuery.ajax函数以及它与“http”的不同之处,ajax就是http。因为没有其他的网络协议。想想看,用户必须看到一些东西。至少是他住的那一页。那么,是什么发送这个请求,jquery还是php?如果是PHP,那么为什么要有这么多jquery背景呢?这似乎不太管用。我在Firebug的控制台中发现一个302错误。你确定JS对象会理解这样的响应吗?@Col.Shrapnel我没有100%理解这个问题,但希望sblom的思路是正确的。通过
文件获取内容()
请求时,你可以使用和加入GET参数。我认为您只需要在将它们回显到页面时对它们进行编码,结果是javascript出现了跨域脚本问题。雅虎有一篇关于它的文章,他们使用cURL——有点复杂。这行代码是一个简单的php代理。