2010-08-03 63 views
0
$(document).ready(function() { 
    function ajaxselectrss(rssurlvar) { 
    var ajaxRequest; // The variable that makes Ajax possible! 

try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
} catch (e){ 
    // Internet Explorer Browsers 
    try{ 
    ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
    try{ 
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (e){ 
    // Something went wrong 
    alert("Your browser broke!"); 
    return false; 
    } 
    } 
} 
// Create a function that will receive data sent from the server 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 

    var ajaxDisplay = document.getElementById('news'); 
    ajaxDisplay.innerHTML = ajaxRequest.responseText; 
    } 
} 



//var rssurlvar = $(this).attr("title"); 
var queryString = "rurl=" + rssurlvar; 
var urltofile = "rssget.php"; 
ajaxRequest.open("POST", urltofile, true); 
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
ajaxRequest.setRequestHeader("Content-length", queryString.length); 
ajaxRequest.setRequestHeader("Connection", "close"); 
ajaxRequest.send(queryString); 

} 
    $(".rshownews").click(function() { 
     window.setInterval(function() {ajaxselectrss($(this).attr("title"))}, 1000); 
    }); 
}); 

POST查询是“未定义”(Firebug)。AJAX不发送POST查询

+1

这'$(文件)。就绪(函数(){'看起来像jQuery,它是jQuery的?如果是的话,你为什么不使用jQuery的Ajax的功能是什么? – 2010-08-03 10:18:14

回答

3

你应该使用$.ajax - 它将标准化跨浏览器的整个XmlHTTPRequest。

$.ajax({ 
    type: "POST", 
    url: "rssget.php", 
    data: queryString, 
    success: function(data) { 
     $('#news').html(data); 
    } 
}); 

(而且,顺便说一句,如果你setInterval在点击处理程序,您会在每次单击该按钮时启动一个新的定期调用后您的ajaxselectrss功能。)

而且,你已经时过境迁,由于包装函数。试着改变你的点击处理,像这样:

$(".rshownews").click(function() { 
    var _this = this; 
    window.setInterval(function() {ajaxselectrss($(_this).attr("title"))}, 1000); 
}); 
+0

但随着$阿贾克斯相同 – lam3r4370 2010-08-03 10:23:02

+1

什么是错误 – sje397 2010-08-03 10:24:31

+0

功能ajaxselectrss(rssurlvar){$ 阿贾克斯({ 类型:? “POST”, 网址: “rssget.php”, 数据: “RURL =” + rssurlvar, 成功:功能(味精){ alert(“Data Saved:”+ msg); } }); } – lam3r4370 2010-08-03 10:25:34