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

时间:2014-11-28 13:14:32

标签: javascript php ajax

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>     

当我点击按钮时收到一条警告信息,但我没有得到textarea.unable的任何内容,以便将javascript变量转换为php代码。这有什么不对?

2 个答案:

答案 0 :(得分:2)

AJAX和PHP不同。

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

您正在获取数据:

您需要使用javascript本身更新此数据。

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

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

答案 1 :(得分:1)

在执行ajax调用后,您永远不会更新textarea。您需要将id属性添加到textarea,以便明确指出您指的是哪个textarea,假设idanswer

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

然后使用$('#answer').val(data)

在成功函数中设置textarea的值
function testing(){
    $.ajax({
            url: 'test.php',
            type: 'GET',
            data: { va: "answer" },
            success: function(data) {
                         // do something;
                         alert("answer");
                         $('#answer').val(data);
                      }
    });
}