如何通过函数从 Javascript 变量分配 php 变量。值不是由 html 元素确定的

How to use assign php variables from Javascript variable through a function. Values are not determined from html elements

我不知道如何使用 AJAX。我试图获取的变量不是来自 html 元素,而是来自预先确定的变量。设置两个变量后,执行的代码是一个函数:

// javascript function
function writetofile(file_name, api, wellname){
    <?php
      //something along the lines of this:
      $file_handler = fopen(file_name, "r");
      $api = api;
      $wellname = wellname;
      $result = $api." : ".$wellname;
      fwrite($file_handler, $result);
      $fclose($file_handler);
    ?>   
}

.php 文件中包含 javascript 函数的 PHP 代码在服务器上 运行 并且永远不会发送到客户端。 javascript 代码;函数本身在没有 PHP.

的客户端(Web 浏览器)上是 运行

因为服务器上没有file_name、api和wellname参数,所以PHP肯定会失败。

// javascript function
function writetofile(file_name, api, wellname) {
  // The stuff here in the php block gets run on the server
  // before anything is ever sent to the web browser.
  // This opens a file (on the server), writes something to it,
  // and closes the file. It produces NO output in the page.
  // The PHP itself is never sent to the browser.
  <?php
    //something along the lines of this:
    $file_handler = fopen(file_name, "r");
    $api = api;
    $wellname = wellname;
    $result = $api." : ".$wellname;
    fwrite($file_handler, $result);
    $fclose($file_handler);
  ?>   
}

这是发送到浏览器的内容:

// javascript function
function writetofile(file_name, api, wellname) {
}

显然,如果您从浏览器中调用该函数,则不会发生任何事情,因为没有函数体。

如果您想使用 file_nameapiwellname 在客户端浏览器上(以某种方式)指定为 运行 服务器上的某些 PHP,您必须将这些变量发送到服务器,可能带有 AJAX POST 请求像 example.com/php_process/dostuff.php 这样的 url,其中 "dostuff.php" 会读取 POST 变量(与任何形式一样)并用它们做一些事情。然后它应该响应结果,或者至少是一个状态指示器。

How to do an AJAX POST from Javascript 是另一个问题,已经有很多答案了。