Я рассмотрел несколько других предложений по этой проблеме, но по какой-то причине мои данные не публикуются. Вот соответствующий раздел моего кода:Передача массива с Javascript на PHP через POST
<input type="button" id="map_submit" value="Map Selection" />
<?php var_dump($_POST); ?> // display the posted variables
и
<script type="text/javascript">
$(document).ready(function(){
$('#map_submit').click(function(){
/* this part is from the slickgrid plugin, in which
* selectedData is an array that I want to post to the page
* and read via php
*/
var selectedData = [], selectedIndexes;
selectedIndexes = grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(grid.getData()[value]);
});
$.post("mapper.php", {dataArray: selectedData});
});
});
</script>
Из того, что я видел из других вопросов, $.post
должен работать. Но, когда я нажимаю кнопку, ничего не отображается из var_dump. В качестве проверки вменяемости, если я добавлю это в JavaScript:
for (var i = 0; i < selectedData.length; i++) {
document.write(selectedData[i].questionID + "<br />");
}
будет печатать questionID
значения I, выбранных в сетке (конечно, чтобы вновь пустую страницу).
возможно дубликат [Пасс Javascript Array -> PHP] (http://stackoverflow.com/questions/5035547/pass-javascript-array-php) –
Что показывает, если вы console.log (selectedData) ; перед .post? – somedev
Подождите, эти фрагменты кода в одном файле? Если они тогда появляются, вы ожидаете, что часть PHP будет работать на стороне клиента. Это не работает. Вам нужно обратный вызов на '$ .post', чтобы что-то сделать с возвращенными данными. – Cfreak