2010-08-03 61 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