Итак, я знаю, что это было задано раньше, и я пробовал решения, но по какой-то причине они не работают для меня, поэтому я прошу помощи. Я не использовал JSON еще так может быть, это что-то глупо, но я понятия не имею, ...Передача PHP-массивов в javascript с помощью JSON
Вот код:
<?php
$array;
#successful attempt to display array with json_encode in php
echo json_encode($array);
?>
<html>
<input id="show" type="button" onclick="showArray()" value="showArray">
<divShow>
</divShow>
<script>
function showArray(){
var array = <?php echo json_encode($array); ?>;
//Failed attempt to display array in the div field show
document.getElementById("divShow").appendChild(array);
//Failed attempt to display the array with an alert.
for(var i=0; i<2; i++){
alert(array[i]);
}
};
</script>
</html>
Так что же вы думаете, ребята? Я что-то упускаю? Возможно ли, что массив был успешно передан javascript, но по какой-то причине не будет отображаться?
Спасибо,
для -Alex-
EDIT:
Так я получаю серию массивов из текстового файла. Я использую эти массивы как строки для отображения на странице, а затем преобразую их в массивы с плавающей запятой. Когда я повторяю один из поплавков массивов, таких как $ Z_Ausmass с:
echo json_encode($Z_Ausmass);
Я получаю [25.39999961853,121.48651123047]. Однако, когда я использую следующее для отображения массива через javascript:
function calc(){
var Z_Ausmass = <?php echo json_encode($Z_Ausmass); ?>;
for(var o=0; o<Z_Ausmass.length; o++){
var textnode = document.createTextNode(Z_Ausmass[o]);
document.getElementById("divCalc").appendChild(textnode);
}
};
не работает. Очень важно получить массивы с плавающей запятой в скрипте, потому что сценарий должен выполнять вычисления на их основе, а затем отображать вычисления для пользователя.
Есть ли сообщение, отображаемое в консоли браузера? –
Используйте 'console.log' для отладки. Это гораздо более полезно. Попробуйте выполнить 'console.log (array);' сразу после того, как вы назначаете 'array', и проверьте консоль браузера (нажмите F12 в Chrome). Вы также можете проверить исходный код и посмотреть, есть ли какие-либо (непонятные) ошибки, которые вы выбрали для вашего скрипта. – Paulpro
Хорошо, я посмотрел в Chrome и Firefox, и это появилось в Firefox: символьная кодировка HTML-документа не была объявлена. Документ будет отображаться с искаженным текстом в некоторых конфигурациях браузера, если документ содержит символы вне диапазона US-ASCII. Символьная кодировка страницы должна быть объявлена в документе или в протоколе передачи. –