#javascript #text
#javascript #текст
Вопрос:
использование кода javascript в браузере для доступа к переменной javascript в файле php сервера (файл php выполняет поиск в текстовом файле и возвращает результат в виде переменной php, затем я устанавливаю эту переменную php в качестве переменной javascript)
//php file on server called data.php
<?php
$search = 'bing';
// Read from file
$lines = file('text.txt');
$linea='';
foreach($lines as $line)
{
// Check if the line contains the string we're looking for, and print if it does
if(strpos($line, $search) !== false) {
$liner=explode(': ',$line);
$linea.= $liner[1];
}
}
echo 'Search returned: '. $linea;
<script type="text/javascript">
var varxxx = $linea;
</script>
?>
//text file on server
foo: bar
el: macho
bing: bong
cake color: blue berry
mayo: ello
//Java script code in browser.
var xhr = new XMLHttpRequest();
xhr.open("GET","http://.........data.php",false);
xhr.send(null);
$Variables.setValue(5, 'varxxx');
Я получил
ошибка ссылки
x не определен
если я просто запущу http://………data.php , он показывает, что поиск возвращен: «Bong» это означает data.php успешно вернул результат, и php $ linea является Bong.
итак, эта часть ниже в файле php является причиной ошибки?
<script type="text/javascript">
var varxxx = $linea;
</script>
или что-то не так с моим кодом Javascript в браузере?
Приветствуется любая помощь, заранее спасибо
Ответ №1:
Попробуйте «повторить» тег script в теле .html. Вы получаете эту ошибку, потому что переменная создается только на стороне сервера, вот почему переменная не определена. Также я рекомендую вам использовать let вместо var, let более безопасен с точки зрения области видимости.
//php file on server called data.php
<?php
$search = 'bing';
// Read from file
$lines = file('text.txt');
$linea='';
foreach($lines as $line)
{
// Check if the line contains the string we're looking for, and print if it does
if(strpos($line, $search) !== false) {
$liner=explode(': ',$line);
$linea.= $liner[1];
}
}
echo 'Search returned: '. $linea;
?>
// New script
<?php
echo("<script> var varxxx = ".$linea." </script>")
?>