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