简单的JQuery AJax示例:变量

时间:2014-04-23 22:49:07

标签: php jquery ajax variables

我从W3学校那里获取了jquery ajax的代码,并略微修改了它:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("test/test.php");
  });
});
</script>
</head>
<body>
<? $a=5; $b=5; $a + $b = $c;?>
<div id="div1"><h2>Let jQuery AJAX Change This Text???</h2></div>
<button>Get External Content</button>

</body>
</html>

在我的test.php上,我有这个小行:

<h2>The answer is: <?=$c?></h2>

当我点击按钮但我没有得到任何东西时,只是&#34;答案是:&#34;

我知道这很简单,但我是Jquery AJAX的新手,无法找到解决这个问题的解决方案。这更符合我对基于项目的真实问题的理解。

Thankss

3 个答案:

答案 0 :(得分:1)

如上所述,您无法使用jquery load方法访问test.php中一个页面的局部变量。如果要将$ c变量的值传递给test.php,可以通过将其作为get变量或使用ajax传递来实现。

请查看以下示例:

您的客户端文件:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">        </script>
<?php 
$a=5;
$b=5; 
$c = $a + $b;
?>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("test.php?c=<?php echo $c; ?>");
  });
});
</script>
</head>

<body>
<div id="div1"><h2>Let jQuery AJAX Change This Text???</h2></div>
<button>Get External Content</button>

</body>
</html>

和您的服务器端文件:

<h2>The answer is: <?php echo $_GET['c']; ?></h2>

答案 1 :(得分:1)

根据您的要求,您可以使用以下三种方法中的任何一种:

获取,发布或ajax

<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>

    function readyFunction() {
        $('#result').html("All iss well..");
        $.ajax({
            url: "ajax_response.php",
            method: "POST",
            data: {id: '12345', 'name': 'AJAX'},
            cache: true
        }).done(function(data){
            data = $.parseJSON(data);
            console.log("I am in done..." + data.id);
        }).success(function(data){
            console.log("I am in success..." + data);
        }).fail(function(data){
            console.log("I am in fail..." + data);
        }).always(function(data){
            console.log("I am in always..." + data);
        });

        $.post({
            url: "ajax_response.php",
            data: {id: '12345', 'name': 'POST'},
            cache: true
        }).done(function(data){
            data = $.parseJSON(data);
            console.log("I am in done..." + data.id);
        }).success(function(data){
            console.log("I am in success..." + data);
        }).fail(function(data){
            console.log("I am in fail..." + data);
        }).always(function(data){
            console.log("I am in always..." + data);
        });

        $.get({
            url: "ajax_response.php",
            data: {id: '12345', 'name': 'GET'},
            method: "POST",
            cache: true
        }).done(function(data){
            data = $.parseJSON(data);
            console.log("I am in done..." + data.id);
        }).success(function(data){
            console.log("I am in success..." + data);
        }).fail(function(data){
            console.log("I am in fail..." + data);
        }).always(function(data){
            console.log("I am in always..." + data);
        });
    }

    $(document).ready(readyFunction);

</script>

ajax_response.php

<?php
    echo json_encode($_REQUEST);
?>

答案 2 :(得分:0)

您通过这些标签指定代码是php

<?php some code here ?>

此外,你想要回应这个价值。

<h2>The answer is: <?php echo $c ?></h2>

这显然也适用于a,b和c变量的赋值。另外,您可以从左到右分配php中的变量,如下所示:

$c = $a + $b;