Доступ к переменным javascript в php-файле сервера через javascript браузера - PullRequest
0 голосов
/ 28 марта 2019

использование кода 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');

Я получил ошибка ссылки х не определен

если я только что запустил http: //.........data.php, он показывает, что поиск вернул: "Bong" это означает, что data.php успешно вернул результат, а php $ linea - Bong.

так что эта часть ниже в php файле является причиной ошибки?

 <script type=\"text/javascript\">
            var varxxx = $linea;
            </script>

или что-то не так с моим кодом Javascript в браузере?

Любая помощь приветствуется Заранее спасибо

1 Ответ

0 голосов
/ 28 марта 2019

Попробуйте "повторить" тег скрипта в теле .html. Вы получаете эту ошибку, потому что переменная создается только на стороне сервера, поэтому переменная не определена. Также я рекомендую вам использовать let вместо var, пусть более безопасен с точки зрения области видимости.

 //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>")
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...