如何通过ajax(Jquery)发布后将值返回到javascript

时间:2012-01-01 06:53:29

标签: php javascript jquery ajax

我通过ajax(jquery)将数据发送到php,然后处理它。我想从php脚本中返回一个值,但我不确定如何。

如何返回结果?

$(document).ready(function() {  //This script sends var Score to php
        Score=100; //Dummy variable
            $.ajax({  
            type: "POST",  
            url: "returnresults.php",  
            data: { 'Score':Score },      
            success: function(){  
            $('#box2').html(Score);
            } 
        })
    }); 

非常简单的PHP代码

<?php
$Score=$_POST['Score']; 
       if (isset($_POST['Score'])) { 
       $Score=80;
} 
?>

3 个答案:

答案 0 :(得分:3)

您的PHP页面应该输出您想要返回的html或文本,所以最简单的可能是将它添加到PHP的末尾:

echo $Score;

如果你想在PHP中预先格式化它,那么:

echo "<div>" . $Score . "</div>";

在哪里可以使html标记尽可能简单或复杂(显然,<div>只是一个例子)。

然后你的jQuery ajax调用会自动将响应作为参数传递给你的成功处理程序,所以:

$.ajax({  
    type: "POST",  
    url: "returnresults.php",  
    data: { 'Score':Score },      
    success: function(data){ // <-- note the parameter here, not in your code
       $('#box2').html(data);
    } 
});

data将是回复。)

注意:如果您知道对ajax调用的响应唯一要做的就是获取data / text / html并将其放入特定元素中,您只需使用{{3而不是$.ajax()

$('#box2').load("returnresults.php", { 'Score':Score });

答案 1 :(得分:2)

检查documentation。特别是关于success处理函数:

  

成功(data,textStatus,jqXHR)

     

一个功能   如果请求成功则调用。该函数传递了三个   arguments:从服务器返回的数据,格式为   dataType参数;描述状态的字符串;和jqXHR   (在jQuery 1.4.x,XMLHttpRequest中)对象。

所以jQuery会将三个参数传递给你的success函数。第一个包含您想要的数据。如果您只想将服务器返回的内容准确传递到success处理程序,您可以执行以下操作:

$(document).ready(function() {  //This script sends var Score to php
        $.ajax({  
        type: "POST",  
        url: "returnresults.php",  
        data: { 'Score':Score },  
        dataType: "text",    //set the dataType to 'text' so that jQuery passes it verbatim
        success: function(newScore){  //the first parameter will contain the response the server sent, we ignore the other two parameters in this example
            $('#box2').html(newScore);
        } 
    })
}); 

然后在您的PHP代码中,直接将所需的值写入响应。

答案 2 :(得分:2)

$(document).ready(function() {  //This script sends var Score to php
    Score=100; //Dummy variable
        $.ajax({  
        type: "POST",  
        url: "returnresults.php",  
        data: { 'Score':Score },      
        success: function(response){
            alert(response);
            $('#box2').html(Score);
        } 
    })
});