Итак, в моем файле PHP я создаю объект JSON, который мне нужно получить в файле Javascript для обработки. Я не могу передать что-либо, однако, даже не с простой строки, как это: -Невозможно получить значение от PHP до Javascript
index.php
<?php
$cookie= "blueberry cake";
?>;
script.js
var details = "<?php echo $cookie; ?>";
function myFunction() {
document.getElementById("demo").innerHTML = details;
}
индекс .html
<html>
<head>
<script src="script.js"></script>
<title>antgus</title>
</head>
<body>
<h1>Welcome to my page! </h1>
<button type="button" onclick="myFunction()">Try it</button>
<p id="demo">A Paragraph.</p>
</body>
Я получил кнопку в своем HTML, поэтому, когда я нажимаю ее, вызывается функция myFunction get. Предполагается изменить элемент p с идентификатором «demo» на строку «черничный пирог»
Любая идея, что я делаю неправильно здесь?
EDIT
теперь он работает за исключением одной вещи, я не могу передать объект JSON к функции я Javascript. Консоль выдает ошибку, говоря, что аргументы ошибочны, она думает, что я передаю несколько строк. index.php
<?php
$test = "blue";
$logLines = file('../../../home/shares/flower_hum/humid.log');
$entries = array_map("clean",$logLines);
$finalOutput = [
'humid' => $entries
];
function clean($string){
return json_decode(rtrim(trim($string),','),true);
}
$json = json_encode($finalOutput, JSON_UNESCAPED_SLASHES);
echo $json; //displays valid JSON, I have checked it.
?>
<html>
<head>
<script src="script.js"></script>
<title>antgus</title>
</head>
<body>
<p>Welcome to my page! Down below you can see the data:</p>
<button type="button" onclick='myFunction("<?php echo $json ?>")'>Try it</button>
<p id="demo">A Paragraph.</p>
</body>
</html>
script.js
function myFunction(jsonObject) {
document.getElementById("demo").innerHTML = "INCOMING DATA:";
alert(jsonObject);
}
enter code here
обновите свой полный код.html + php + javascript. –
Вам необходимо передать 'details' как' arguments' как 'myFunction (подробности)' – Saty
PHP-серверы не интерпретируют PHP-код в файлах с расширением '.js' по умолчанию. если вы измените имя файла сценария на 'script.php', будет выполнен код PHP. –