Сделайте относительный URL-запрос на получение с HTTP_Request2
На стороне клиента у меня есть запрос get, вызванный $.get
с помощью jQuery
"Modify_user.php? UID =SomeUserId"
с этим XMLHttpRequest
Я получаю некоторый идентификатор пользователя и загружаю форму. Проблема заключается в том, что на стороне клиента у меня нет идентификатора пользователя, если я хочу изменить своего пользователя.
Поэтому я создаю еще один файл php
modify_my_user.php
и в основном я хотел получить идентификатор на стороне сервера и смоделировать запрос от сервера, как будто это был запрос 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');
дело в том, что когда я пытаюсь сделать запрос на получение от сервера (в modify_my_user.php), я получаю эту ошибку
HTTP_Request2_LogicException: HTTP_Request2 требуется абсолютный URL-адрес HTTP(S)-запроса, "localhostWeb/Ajax/modify_user.php? Uid=17", указанный в
Есть ли способ включить URL-адрес родственников с этим пакетом?
1 ответ
Вы не можете делать HTTP-запросы без хоста - никогда и никуда.
Есть несколько решений вашей проблемы:
- Если UID не дается
modify_user.php
, просто используйте тот из сессии автоматически. - В случае если специальный uid "current_user" задан
modify_user.php
вместо этого используется тот из сеанса - Prepend
$_SERVER["HTTP_HOST"]
на ваш URL, прежде чем запрашивать его.