2012-06-15 53 views
0

我想用jQuery获取Twitter搜索并将其传递给一个用于格式化的php脚本。我是jQuery的新手,所以如果有人能告诉我这是绝望的话,会不会喜欢?使用jQuery获取JSON并传递给php并返回?

这是我的jQuery,它应该调用Twitter,获取json,然后将json传递给php。

//jquery 
$(document).ready(function() { 
var twUrl = "http://search.twitter.com/search.json?q=twitter&rpp=5&callback=?"; 

    $.jsonp({ 
     url: twUrl, 
     data: {}, 
     dataType: "jsonp", 
     callbackParameter: "callback", 
     timeout: 5000, 
     success: function(data){ 
      $.post("search_back.php", {json_data: data}, 
       function(data) { $("#search_word").html() }); 
     }});    
}); 

和PHP应该把它捡起来,将其格式化(不包括在内,但我知道如何做到这一点的一部分),并将其传递回#search_word。

//search_back.php 
$output = json_decode($_POST["data"], true); 

foreach ($output as $tweet){ 
    echo $tweet; 
} 

这是密切的吗? 真的很感谢您的帮助!

+1

这是,应该工作。你可以var_dump($输出),如果你想知道结构 –

+0

谢谢尼古拉斯!但是,你不知道它:它什么都不做!所以一定有什么问题!使用$ .jsonp(而不是$ .ajax或getJson?)是正确的吗?或者,我是否将正确的变量与json_data和数据一起传递?再次感谢! – knutole

+1

jsonP是正确的,你不能使用ajax做一个crosssite调用。你应该检查$ .jsonp中的数据是否确实有内容。use console.log(data); (如果你使用萤火虫)检查它里面有什么 –

回答

0

好了,现在兴奋:)得到它的工作,只是张贴供参考:

<script> 

$(document).ready(function() { 
    var twUrl = "http://search.twitter.com/search.json?q=twitter&rpp=5&callback=?"; 
    $.getJSON(twUrl, 
     function(data) { 
      console.log(data); 
      $.post("search_back.php", {json_data: data}, function(data) { 
       console.log(data); 
       console.log("ok"); 
       $("#search_word").html(data) }); 

     } 
    )}); 


</script> 

<?php 
$output = $_POST["json_data"]; 
foreach ($output[results] as $tweet){ 
    echo $tweet[from_user] . "<br>"; 
} 
?> 

似乎什么去PHP已经json_decoded,真的吗?非常感谢你的帮助!

+0

你应该发送一个Json字符串,并在php端使用json_decode,php脚本是否适用于你? –

+0

嗯,有些数据会通过,但有明确的不规则性。:)它被列为萤火虫中的对象,这是一个坏迹象,我想。从我的理解我得到一个JSON从Twitter,我应该json_decode($输出,真)在我的PHP?我现在检查一下。 – knutole

+0

可以使用你的PHP从Twitter获取数据,并打电话给你自己的服务器......只有一个AJAX调用这种方式 – charlietfl

相关问题