通过 ajax 将 javascript 变量传递给 php 变量是行不通的



test.php

<script src="https://code.jquery.com/jquery-1.11.1.js"></script>  
<script>
function testing(){
 $.ajax({
                        url: 'test.php',
                        type: 'GET',
                         data: { va: "answer" },
                         success: function(data) {
                             // do something;
alert("answer")  ;                       }
                     });

}
</script>
<textarea><?php 
$compare= $_GET['va'];
echo $compare; ?>
</textarea>  
<button onclick="testing();">click</button>     

当我单击按钮时收到一条警报消息,但文本区域没有任何消息。无法将 javascript 变量放入 php 代码中。这是怎么回事?

AJAX 和 PHP 是不同的。

PHP是基于服务器的,AJAX是基于浏览器的。

您正在获取以下数据:

你需要用javascript本身更新这些数据。

由于页面没有刷新PHP,因此不会在此处更新。

success: function(data) {
  $("textarea").val(data); // You need update the value with Javacript.
}

执行 ajax 调用后,您永远不会更新文本区域。您需要将id属性添加到文本区域,以便清楚地了解您指的是哪个文本区域,假设idanswer

<textarea id="answer"><?php 
$compare= $_GET['va'];
echo $compare; ?>
</textarea> 

然后使用 $('#answer').val(data) 在成功函数中设置文本区域的值

function testing(){
    $.ajax({
            url: 'test.php',
            type: 'GET',
            data: { va: "answer" },
            success: function(data) {
                         // do something;
                         alert("answer");
                         $('#answer').val(data);
                      }
    });
}

最新更新