在JavaScript中获取php变量 - 选项

25 浏览
0 Comments

在JavaScript中获取php变量 - 选项

我知道有类似的问题,但是我对它们有一些疑问,因为它们提到了几种可能性,我不确定哪种最适合我的情况。

我有一个表单,其中有一个部分可以输入一个xml文件的名称,然后使用php生成该文件。文件的名称存储在一个php变量中。为了访问xml文件,我想在JavaScript中获取php变量的值。

根据我所了解的,有几种可能性:

一种是Ajax请求。我的问题是:我尝试按照这个教程(https://www.w3schools.com/xml/ajax_php.asp)进行操作。然而,我不完全理解这个教程。

  • 首先,在第一个示例中,“this”是什么意思?(例如this.responseText)
  • 其次,在xmlhttp.open()中为什么是“gethint.php?q=” + str,而不是简单地“gethint.php”?
  • 最后,$q = $_REQUEST["q"];告诉我什么?我知道这是声明了某种变量,但我不明白它的具体作用。

我还了解到你可以使用cookies,但在我的情况下是否有意义?

如果需要进一步的信息,请告诉我,非常感谢您的回复。

编辑:下面是我试图遵循的代码:

HTML:






    在输入框中开始输入一个名称:
    
名字:
建议:

PHP:

// 从URL获取q参数
$q = $_REQUEST["q"];
$hint = "";
// 如果$q不为空,则从数组中查找所有的提示
if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            } else {
                $hint .= ", $name";
            }
        }
    }
}
// 如果未找到提示,则输出“无建议”,否则输出正确的值
echo $hint === "" ? "无建议" : $hint;
?>

$a是一个包含名称的数组,为了节省空间,我没有在提取的内容中包含它。

这是我的代码:

HTML:


    

附加到我:

JavaScript:

function alertFunction() {
    var xhttp; 
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var filename = xhttp.responseText;
            alert(filename);
        }
    };
    xhttp.open("GET", "profile3.php?q=", true);
    xhttp.send();
};

PHP:


$filename被声明为我的xml文档的名称。我没有包含那段代码,因为我知道那不是问题所在。

0
0 Comments

问题的出现原因:

1. 首先,在第一个示例中,“this”是什么?(例如this.responseText)

这是一个简单的问题,“this”求值为当前执行上下文的ThisBinding的值;

2. 其次,“为什么在xmlhttp.open()中是“gethint.php?q=” + str,而不是简单地“gethint.php”?

这只是将输入值传递给服务器以获取匹配结果。这将被视为GET方法;

3. 最后,“$q = $_REQUEST["q"];”告诉我什么?我知道这是声明某种变量,但我不明白它具体是做什么。

这是用于从POST/GET方法中获取值的php代码。根据第2点,参数被传递到服务器。可以使用$_REQUEST["q"]从服务器访问它。

解决方法:

1. 确定“this”关键字的作用和值;

2. 确定传递给服务器的参数;

3. 使用$_REQUEST["q"]从服务器获取参数的值。

0
0 Comments

问题的原因是用户想要在JavaScript中获取PHP变量的值。他们在代码中尝试了一些方法,但没有成功。

解决方法是使用AJAX来实现。用户需要编写一个包含PHP变量值的PHP脚本,并通过AJAX请求获取该值。

以下是解决方法的步骤:

1. 在PHP脚本中,将要获取的变量赋值给一个变量,如$q = $_REQUEST["q"]。

2. 确保PHP脚本能够正确接收到参数。可以通过在URL中传递参数,如"gethint.php?q=something"。

3. 在JavaScript中,使用XMLHttpRequest对象来发送AJAX请求。

4. 在AJAX请求的URL中传递参数,如"gethint.php?q=" + str。

5. 在AJAX请求的回调函数中,可以通过this.responseText来获取PHP脚本的响应。

注意:在实际应用中,可能需要对传递的参数进行安全性检查和验证。

希望这篇文章对你有帮助!

0