Я хочу управлять массивом JavaScript в PHP. Действительно ли возможно сделать что-то вроде этого?
$.ajax({
type: "POST",
url: "tourFinderFunctions.php",
data: "activitiesArray="+activities,
success: function() {
$("#lengthQuestion").fadeOut('slow');
}
});
Операции являются единственным размерным массивом как:
var activities = ['Location Zero', 'Location One', 'Location Two'];
Сценарий не завершается, когда я пробую это... Как я могу зафиксировать его?
data: { activitiesArray: activities },
]
[] Вот так! Теперь вы можете получить доступ к нему в PHP:[
] [<?php $myArray = $_REQUEST['activitiesArray']; ?>
] ]Вы захотите кодировать ваш массив как JSON перед отправкой, иначе вы просто получите какой-нибудь мусор на другом конце.[
] []Так как все, что вы посылаете - это массив, вы можете просто сделать:[
] [data: { activities: activities }
]
[]что автоматически преобразует массив для вас.[
] []Смотрите []здесь[] для подробностей.[
].] Вам нужно превратить это в строку. Вы можете сделать это, используя метод stringify в библиотеке JSON2.[
] [] [][]http://www.json.org/js.html[][
] []Код будет выглядеть как:[
] [var myJSONText = JSON.stringify(myObject);
]
[]Так что [
] [['Location Zero', 'Location One', 'Location Two'];
]
[]станет:[
] ["['Location Zero', 'Location One', 'Location Two']"
]
[]Вам придется обратиться к гуру PHP о том, как с этим справиться на сервере. Я думаю, что другие ответы здесь являются интимным решением.[
] []Данные могут быть возвращены с сервера аналогичным образом. Т.е. Вы можете превратить их обратно в объект.[
] [var myObject = JSON.parse(myJSONString);
] ] Используйте функцию JQuery Serialize [
] [][] http://docs.jquery.com/Ajax/serialize[][
] [] []] Serialize обычно используется для подготовки вводимые пользователем данные, которые будут размещены на Сервер. Сериализованные данные находятся в стандартный формат, совместимый со стандартом []. почти со всей серверной стороны языки программирования [] и фреймворки.[
] [