Каков наилучший способ опубликовать 30 переменных со стороны клиента на сервер? - PullRequest
1 голос
/ 02 июня 2011

эй, у меня есть около 30 переменных, которые создаются и изменяются пользователем (ни одна из которых не является входной, поэтому отправка формы на самом деле не вариант), как только модификация завершена, JS-функция обрабатывает переменные и позволяет супругу отправить их в контроллер, затем отправьте модель.

Теперь, как видно из заголовка, мой вопрос: как мне лучше всего отправить их?

Спасибо за время и внимание, Идо

Ответы [ 5 ]

5 голосов
/ 02 июня 2011

Я бы не использовал GET для этого, если это не что-то вроде сложной формы поиска.

Вы можете POST значения в JavaScript либо используя некоторую форму AJAX, либо создав скрытую форму и отправив ее.

0 голосов
/ 02 июня 2011

Современные браузеры и более новые версии PHP поддерживают JSON, и есть поддерживающие библиотеки, которые вы можете использовать, если браузеры, которые вам нужно поддерживать, или версия PHP, с которой вы застряли, устарели.Я бы рекомендовал это как способ получения данных туда и обратно.

JS на стороне клиента:

var myobject = {
  userparam: "value",
  anotherThing: "another value",
  something: "etc"
}

var serialized = JSON.stringify(myobject);

// use any AJAX technicque to POST 'serialized' back to the server

Затем на стороне сервера:

<?php

  $myobject = json_decode( $_POST['serialized'], true );

  $myobject['userparam'] == "value"; // true

Надеюсь, это поможет!

0 голосов
/ 02 июня 2011

Взвесьте это между POST и GET. GET лучше, если вы хотите вернуться к странице с заданным набором «переменных». POST лучше, если вы отправляете много контента. Однако POST-запрос менее «эффективен», чем GET-запрос - имейте это в виду и используйте POST, только если это действительно необходимо.

0 голосов
/ 02 июня 2011

Если переменные тесно связаны, вы можете поместить их в массив и поместить их в POST (конечно, используйте Javascript для создания массива).Другой альтернативой было бы назвать каждого из них и POST их отдельно?

Массив POST выглядит следующим образом: arr[]=Hello&arr[]=World

в PHP вы можете получить к нему доступ как

<?php
arr = $_POST['arr'] // ["Hello", "World"]
?>

Надеюсь, что помог!

0 голосов
/ 02 июня 2011

Я бы использовал POST, используя форму, представленную ajax. Вы можете просто создать форму со скрытыми входными данными, а затем использовать вашу любимую библиотеку ajax для отправки формы на сервер в виде запроса POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...