Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量从AJAX传递到PHP_Javascript_Php_Ajax - Fatal编程技术网

Javascript 将变量从AJAX传递到PHP

Javascript 将变量从AJAX传递到PHP,javascript,php,ajax,Javascript,Php,Ajax,我正在从事一个php项目。 我有一个关联数组,我用它来制作字典。我还有一个带有文本的字符串,其中包含数组的一些键。我要做的是生成另一个字符串,该字符串与第一个字符串具有相同的文本,但关键字被替换为数组的值 在sostitution之前,我希望用户在数组的每个空值(比较到字符串中)中写入内容。我必须这么做,弹出一个窗口。我需要获取Javascript变量的变量内容,并将其放入PHP数组中。我曾经尝试过使用AJAX,但我是一个大人物,我不知道我是否做得很好 这里是我的代码(它不起作用): 要生成一个

我正在从事一个php项目。 我有一个关联数组,我用它来制作字典。我还有一个带有文本的字符串,其中包含数组的一些键。我要做的是生成另一个字符串,该字符串与第一个字符串具有相同的文本,但关键字被替换为数组的值

在sostitution之前,我希望用户在数组的每个空值(比较到字符串中)中写入内容。我必须这么做,弹出一个窗口。我需要获取Javascript变量的变量内容,并将其放入PHP数组中。我曾经尝试过使用AJAX,但我是一个大人物,我不知道我是否做得很好

这里是我的代码(它不起作用):


要生成一个字符串,其中的关键字被数组中的值替换,可以使用如下函数:

$array["red"] = "Once upon a time";
$array["blue"] = "fox";
$array["black"] = "cat";
$array["orange"] = "";

$sentence = "<br />It has been a long time since %s %s. My name is %s and my surname is %s.<br /> My age is %s. <br /><br />.";
echo "First string" . sprintf($sentence, $array["red"], $array["blue"], $array["blue"], $array["black"], $array["orange"]);

请更详细地描述问题所在。另外,指定您得到的任何PHP错误和JavaScript错误。也就是说:在PHP中启用错误报告,并在浏览器中检查开发人员工具的控制台选项卡。对不起,我犯了一个错误。变量是“name”,而不是“nome”。我想我不会改变这个部分,因为它可以正常工作(我必须这样做,因为项目要复杂得多。我刚刚发布了一个示例)。问题是第二部分。我需要获取“name”变量并将其传递给php(无需刷新页面)。然后,它将被放入之前为空的数组值中。我更新了我的答案,让您了解如何解决它。我不能保证它能满足你的需要。您可能需要修改(尤其是查询参数)以适应您的问题。您确定[[code>$string=“
很久以来[[red]]]…“
实际上用
$array[“[[red]]”]
的值替换了
[[red]]]
吗?不,它没有。我有另一部分代码用于此目的。它起作用了。我没有把它贴在这里,因为它没有问题。但在执行该部分之前,我需要将空值填充到数组中。我会试试你发布的代码,我会让你知道的。谢谢不,它不起作用。我也有同样的问题。我无法将从弹出窗口获取的变量传递到PHP。这段代码不起作用:var xmlhttp=new XMLHttpRequest();xmlhttp.open(“GET”、“index.php?name=“+name+”&key=“+,true”);xmlhttp.send();当我尝试获取带有$u请求的varibales时,它们内部没有任何内容。
$array["red"] = "Once upon a time";
$array["blue"] = "fox";
$array["black"] = "cat";
$array["orange"] = "";

$sentence = "<br />It has been a long time since %s %s. My name is %s and my surname is %s.<br /> My age is %s. <br /><br />.";
echo "First string" . sprintf($sentence, $array["red"], $array["blue"], $array["blue"], $array["black"], $array["orange"]);
<?php
  // you may want to modify the handling of the query parameters to suit your needs
  if(isset($_REQUEST['key']) && isset($_REQUEST['name'])
    $array[$_REQUEST['key']] = $_REQUEST['name'];  

  $array["red"] = "Once upon a time";
  $array["blue"] = "fox";
  $array["black"] = "cat";
  $array["orange"] = "";

  foreach ($array as $key => $value) {
    if (strstr($string, $key) && $value.empty()) {
?>
    <script>
      name = prompt("Insert a correct value: ");
      while ((name== "") || !(isNaN(name)) || name== null) {
        window.alert("Wrong insert!");
        name= prompt("Insert a correct value: ");
      }

      var xmlhttp=new XMLHttpRequest();
      xmlhttp.open("GET","index.php?name=" + name + "&key=" + <?php echo $key?>,true);
      xmlhttp.send();
    </script>

<?php
    }
  }

  /* echo etc.. */
?>