在客户端,我有$.get
使用jQuery
“modify_user.php?UID = SomeUserId”
使用此XMLHttpRequest
,我获得了一些userID并加载了表单。
问题是在客户端我没有我的用户ID,以防我想修改我的用户。
所以我创建另一个名为
的php文件modify_my_user.php
基本上我想要做的就是在服务器端获取id并模拟来自服务器的请求,就像是Ajax请求一样。
像这样的东西
require_once 'HTTP/Request2.php';
$r = new HTTP_Request2('Ajax/modify_user.php?uid='.$_SESSION['uid'], HTTP_Request2::METHOD_GET);
$r->setHeader(array('X-Requested-With' => 'XMLHttpRequest'));
$r->send();
echo json_encode($r->getBody());
这是因为在modify_user中我有一个拒绝方法,如果请求不是XMLHttpRequest
(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
问题是,当我尝试从服务器发出get请求时(在modify_my_user.php中)我收到此错误
HTTP_Request2_LogicException:HTTP_Request2需要一个绝对HTTP(S) 请求URL,在
中给出'localhostWeb / Ajax / modify_user.php?uid = 17'
有没有办法用这个包启用亲戚网址?
答案 0 :(得分:2)
如果没有主机,您就无法发出HTTP请求 - 永远也无处。
您的问题有几种解决方案:
modify_user.php
没有给出任何uid,只需自动使用会话中的那个。modify_user.php
,则使用会话中的那个$_SERVER["HTTP_HOST"]
添加到您的网址。