Какой тип http-запроса мне следует использовать, если мне нужно передать переменную на сервер, но запрос является SELECT? - PullRequest
0 голосов
/ 17 января 2020

У меня есть блог кулинарных рецептов, в этом блоге зарегистрированные пользователи могут читать сообщения других пользователей. Я бы просмотр установки дефолта: На домашней странице можно читать только сообщения, которые имеют тот же город пользователя, который вошел в систему. Для этого я передаю на сервер переменную, содержащую идентификатор пользователя, и эта переменная используется для выполнения запроса по восстановлению названия города. Когда я получаю название этого города, я могу запросить (SELECT * FROM recipes WHERE city = '$cityUser' ecc.), чтобы отобразить все сообщения на домашней странице.

Этот блог основан на модели сервиса RESTful.

Javascript код для создания соединения с сервером:

      function printAllPosts() {
        var data = {};
        data.id_user = idUser;
        var jsondata = JSON.stringify(data);

        var oReq = new XMLHttpRequest();
        oReq.onload = function(){document.getElementById("ajaxres").innerHTML = oReq.responseText;};
        oReq.open("post", "api_printAllPosts.php/recipes/", true);
        oReq.send(jsondata);
      }

Код php для получения HTTP Метод, путь и тело запроса:

$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', trim($_SERVER['PATH_INFO'],'/'));
$input = json_decode(file_get_contents('php://input'),true);

Если в oReq.open тип запроса http - "post" , все работает правильно, и idUser передается на сервер, если в oReq.open тип запроса http - "get" , он не работает.

Если я передаю данные на сервер и соединяюсь с ним методом «post», хотя я делаю запрос только для чтения и, следовательно, запрос на выборку, уважаю ли я службу RESTful или мне нужно реализовать другую методологию проектирования для реализации метода "get"?

...