2011-07-04 60 views
1

我需要一些关于ajax回调的帮助。我试图通过某些参数AJAX被称为后传递回调参数ajax post

 var dataString = 'string=' + string; 
     $.ajax({ 
      type: "POST", 
      url: "file.php", 
      data: dataString, 
      success: function(data){ 

       $(".selector").html(data) 

     } 
     }); 

好了,所以如果我的file.php有一些MySQL的查询,我想呼应出值

echo $picture; 
echo $title; 
echo $additional_values; 

我如何回声出一定的价值,并使之通过AJAX

所以,如果我在PHP文件呼应出来,(数据),这将输出到一切$(".selector").html(data)<div class="selector"></div>),但是,我将它输出通过我的AJAX功能试图一次输出一件东西

success: function(data){ 
    $(".picture").html(data); // echo's out picture in my picture div class 
    $(".title").html(data); // echo's out title in my title div class 
    $(".additional_values").html(data); // echo's out to the div class... 
} 

如果有人能对我发光,那会很棒!

谢谢!

回答

4

PHP

$data = array('picture'=>$picture, 
       'title'=>$title, 
       'values'=>$additional_values, 
      ); 

print json_encode($data); 

的JavaScript

var dataString = 'string=' + string; 
    $.ajax({ 
     type: "POST", 
     url: "file.php", 
     data: dataString, 
     datatype: 'json', 
     success: function(data){ 
      $(".picture").html(data.picture); 
      $(".title").html(data.title); 
      $(".additional_values").html(data.values); 

     } 
    }); 
+1

您可能还需要将$ .ajax数据类型更改为json – Daff

+0

@Daff好点错过了 – PeeHaa

+0

@Downvoter:请您告诉我的答案有什么问题吗?谢谢! – PeeHaa

1

您可以使用JSON。 JSON是一种序列化格式,允许您“转换”一个对象来将字符串转换为对象。 PHP有一个内置的功能编码为JSON字符串,称为json_encode

PHP代码

file.php 
<?php 
//... Your logic here 
header("Content-type: application/json"); //'Tell' the browser that it's a JSON response 
$returnData = array('picture'=>$picture, 'title'=>$title, 'values'=>$additional_values); 
echo json_encode($returnData); //Encode $returnData to JSON string 
?> 

现在,jQuery的可以接收这个字符串,它会自动转换为JavaScript对象。我们在data参数对象

的JavaScript

var dataString = 'string=' + string; 
$.ajax({ 
    type: "POST", 
    url: "file.php", 
    data: dataString, 
    success: function(data){ 
     //At this point, data is just as php's $returnData, so it has 3 properties 
     //picture, title and values. 
     $(".picture").html(data.picture); 
     $(".title").html(data.title); 
     $(".additional_values").html(data.values); 
    } 
}); 

JSON在许多语言版本,并在AJAX事实上的交换格式。有关http://json.org的更多信息。

希望这会有所帮助。欢呼声