Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как c функцией .ajax() передать несколько значений в php? (https://javascript.ru/forum/jquery/29947-kak-c-funkciejj-ajax-peredat-neskolko-znachenijj-v-php.html)

Faab 18.07.2012 14:29

Как c функцией .ajax() передать несколько значений в php?
 
Как c функцией .ajax() передать несколько значений в php? Нижеуказанный пример успешно помещает переменную key в глобальный массив $_POST. А если я захочу передать две или несколько переменных, то как это мне это прописать?

$.ajax({
            type: "POST",
            data: "primer=" + primer,
            url: "/response.php",
            dataType: "json",
            success: function(data){

cmd 18.07.2012 14:44

$.ajax({
            type: "POST",
            data: { 
                        primer: primer, 
                        id: value, 
                        somevar: somevarvalue 
            },
            url: "/response.php",
............


Пример с оф. доков
$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

Faab 18.07.2012 14:51

Благодарствую. То что я и хотел.

Faab 18.07.2012 15:02

Вот только не пойму тогда эту ужасную (на мой взгляд) манеру записи:

data: "key=" + key,


Ведь запись ниже намного понятнее.

data: {key: key},


Интересно, какую цель приследовал автор скрипта используя такую пропись?

cmd 18.07.2012 15:53

Я как-то встречал записать
url: "/response.php?key="+value,

Каждому свое красиво... но равняться лучше на оф. маны

Meera 19.11.2013 09:47

Это удобно когда не много значений
 
$.ajax({
            type: "POST",
            data: "primer=" + primer+"&primer2="+primer2,
            url: "/response.php",
            dataType: "json",
            success: function(data){

BETEPAH 19.11.2013 10:15

Цитата:

Сообщение от Meera
Это удобно когда не много значений

чем это удобнее?

Skipp 19.11.2013 10:15

Чем же эта запись понятнее и правильнее??
data: {key: key}

Это как 2 = 2 или же 3 = 3.
Переменная key должна записаться и в ключ и в значение. то есть:
key = 2
data: {key: key}
data: {2: 2}

С этим подходом будет много ошибок, хотя бы в таких ситуация ставьте ключи в кавычки.
data: {'key': key}

или
data: {"key": key}

BETEPAH 19.11.2013 10:19

Цитата:

Сообщение от Skipp
Переменная key должна записаться и в ключ и в значение. то есть:

нет.
Цитата:

Сообщение от cmd
data: { name: "John", location: "Boston" }


Skipp 19.11.2013 10:26

Цитата:

Сообщение от BETEPAH
нет.

Что нет?

Это приемлемая запись в js, но не валидная JSON, я сам так пишу, но это зачастую не правильно.

Допустим, будет ли работать такая конструкция?
{old: 2, new: 3}

Или такая?
{old: "2", new: "3"}

Или всё таки такая?
{"old": "2", "new": "3"}


А точнее какая из них правильная?


Часовой пояс GMT +3, время: 12:38.