Javascript 使用ajax动态检索twitter搜索提要
很久以前,我使用JSON,并成功地从twitter和facebook获取哈希标记提要。但目前我只是能够得到饲料,但它没有被不断更新,这意味着它没有被动态更新。我想我需要ajax化它,但我不能这样做,因为我不知道ajax。下面是我用来获取twitter搜索源的代码Javascript 使用ajax动态检索twitter搜索提要,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,很久以前,我使用JSON,并成功地从twitter和facebook获取哈希标记提要。但目前我只是能够得到饲料,但它没有被不断更新,这意味着它没有被动态更新。我想我需要ajax化它,但我不能这样做,因为我不知道ajax。下面是我用来获取twitter搜索源的代码 $(document).ready(function() { $("#Enter").click(function(event){ var searchTerm = $("#search").val() ;
$(document).ready(function()
{
$("#Enter").click(function(event){
var searchTerm = $("#search").val() ;
var baseUrl = "http://search.twitter.com/search.json?q=%23";
$.getJSON(baseUrl + searchTerm + "&rpp=1500&callback=?", function(data)
{
$("#tweets").empty();
if(data.results.length < 1)
$('#tweets').html("No results JOINEVENTUS");
$.each(data.results, function()
{
$('<div align="justify"></div>')
.hide()
.append('<hr> <img src="' + this.profile_image_url + '" width="40px" /> ')
.append('<span><a href="http://www.twitter.com/'
+ this.from_user + '">' + this.from_user
+ '</a> ' + makeLink(this.text) + '</span>')
.appendTo('#tweets')
.fadeIn(800);
});
});
});
});
function makeLink(text)
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"<a href='$1'>$1</a>");
}
$(文档).ready(函数()
{
$(“#输入”)。单击(函数(事件){
var searchTerm=$(“#搜索”).val();
var baseUrl=”http://search.twitter.com/search.json?q=%23";
$.getJSON(baseUrl+searchTerm+“&rpp=1500&callback=?”,函数(数据)
{
$(“#tweets”).empty();
if(data.results.length<1)
$('#tweets').html(“无结果JOINEVENTUS”);
$.each(data.results,function()
{
$('')
.hide()
.append(“
”)
.append(“”+makeLink(this.text)+“”)
.appendTo(“#tweets”)
.fadeIn(800);
});
});
});
});
函数makeLink(文本)
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
返回文本。替换(exp,“”);
}
下面的代码应该对您有所帮助。我所做的是将获取tweets的代码移动到一个函数中。然后每隔X秒调用此函数以更新该框。当用户输入新的搜索词并单击“回车”时,它将重置计时器
var fetchSeconds = 30; //Number of seconds between each update
var timeout; //The variable which holds the timeout
$(document).ready(function() {
$("#Enter").click(function(event){
//Clear old timeout
clearTimeout(timeout);
//Fetch initial tweets
fetchTweets();
});
});
function fetchTweets() {
//Setup to fetch every X seconds
timeout = setTimeout('fetchTweets()',(fetchSeconds * 1000));
var searchTerm = $("#search").val();
var baseUrl = "http://search.twitter.com/search.json?q=%23";
$.getJSON(baseUrl + searchTerm + "&rpp=1500&callback=?", function(data) {
$("#tweets").empty();
if (data.results.length < 1) {
$('#tweets').html("No results JOINEVENTUS");
}
$.each(data.results, function() {
$('<div align="justify"></div>').hide()
.append('<hr> <img src="' + this.profile_image_url + '" width="40px" /> ')
.append('<span><a href="http://www.twitter.com/'+ this.from_user + '">' + this.from_user + '</a> ' + makeLink(this.text) + '</span>')
.appendTo('#tweets')
.fadeIn(800);
});
});
}
function makeLink(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"<a href='$1'>$1</a>");
}
var fetchSeconds=30//每次更新之间的秒数
var超时//保存超时的变量
$(文档).ready(函数(){
$(“#输入”)。单击(函数(事件){
//清除旧超时
clearTimeout(超时);
//获取初始推文
获取tweets();
});
});
函数fetchTweets(){
//设置为每X秒提取一次
timeout=setTimeout('fetchTweets()',(fetchSeconds*1000));
var searchTerm=$(“#搜索”).val();
var baseUrl=”http://search.twitter.com/search.json?q=%23";
$.getJSON(baseUrl+searchTerm+“&rpp=1500&callback=?”,函数(数据){
$(“#tweets”).empty();
if(data.results.length<1){
$('#tweets').html(“无结果JOINEVENTUS”);
}
$.each(data.results,function(){
$('').hide()
.append(“
”)
.append(“”+makeLink(this.text)+“”)
.appendTo(“#tweets”)
.fadeIn(800);
});
});
}
函数makeLink(文本){
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
返回文本。替换(exp,“”);
}
希望这对您有所帮助请正确缩进您的代码,以便于我们帮助您。谢谢:)我已经编辑了代码,因为我误解了这个问题,但希望这就是你所要做的。感谢你的帮助,实际上推特并没有动态更新,我想做的正是twitter widget在wordpress或其他博客上所做的事情,它能在短时间内反映推文。我仍在想办法。我想做的正是推文所做的,推文是动态检索的
http://twitter.com/about/resources/widgets/widget_search