Передача выстраивает как параметры с Ajax jQuery?

Для меня это не эффективно вообще. Я использую IDE, таким образом, в альбомном режиме у меня есть боковые панели, чтобы переместиться по коду, переместиться по проекту и т.д.

7
задан Chad Johnson 19 September 2013 в 16:35
поделиться

4 ответа

Вам, вероятно, потребуется назвать свою переменную "параметр3 []" ради PHP:

$.get('/controller/method/',
  {
    "parameter1": "value1",
    "parameter2": "value2",
    "parameter3[]": ["a","b","c"]
  },
  function(data) {
    if (data) {
    }
  else {
  }
});

$ _ GET ["параметр3"] будет отображаться в PHP как

Array
(
    [0] => "a"
    [1] => "b"
    [2] => "c"
)
10
ответ дан 7 December 2019 в 01:23
поделиться

Итак, во-первых, я думаю, вы смешиваете синтаксис JavaScript и PHP. Вероятно, это то, что вы хотели сделать, чтобы продемонстрировать передаваемые массивы:

    $.get('foo.htm',
      {
        parameter1: 'value1',
        parameter2: 'value2',
        parameter3: [1, 2, 3],
        parameter4: {'one': 1, 'two': 2, 'three': 3}
      },
      function(data) {
        alert(data);
      });

Как ни странно, JQuery не нравится вложенный объект. Он создает такую ​​строку запроса:

 foo.htm?parameter1=value1
   &parameter2=value2
   &parameter3=1
   &parameter3=2
   &parameter3=3
   &parameter4=%5Bobject+Object%5D

Для передачи сложных объектов PHP взад и вперед я рекомендую сериализовать ваш объект JavaScript с помощью метода JSON stringify и десериализовать его на бэкэнде с помощью json_decode .

Кроме того, похоже, вы используете некую структуру MVC. Если это CodeIgniter, и у вас проблемы с GET, подумайте об использовании этого вспомогательного метода postJSON:

$.postJSON = function(url, data, callback) {
    $.post(url, data, callback, "json");
};
0
ответ дан 7 December 2019 в 01:23
поделиться

Я уже был на этом пути раньше. Присоедините свой массив с запятой (или любой другой символ, который лучше всего подходит для вашего сценария) и отправьте его как один параметр ...

var arr = [5, "x", 25];
var parms = {
  parameter1: "value1",
  parameter2: arr.join(",");
}

А на стороне сервера ваша пост-переменная "параметр2" будет иметь вид 5 , x, 25

Это простое решение для обеих сторон провода.

0
ответ дан 7 December 2019 в 01:23
поделиться

Можно отправить любой объект JSON через команду post ... даже на контроллер MVC. Сложная часть - это получение данных ... которые вам, возможно, придется десериализовать вручную на сервере (либо в контроллере, либо с помощью фильтра JSON.

0
ответ дан 7 December 2019 в 01:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: