2011-07-27 18 views
0

私は一種のフォーラムを持っており、投稿を頻繁に更新する必要があります。ページが読み込まれるときにAjaxを使用していますが、後で自動リフレッシュを実装します。私が抱えている問題は、(私が信じる)Ajaxリクエストを誘発することです。私はヘッダーをクリックすると(デバッグのために)Ajaxリクエストが発生するイベントハンドラを持っています。私はすべてのコードを投稿しませんが、ここで最も関連性の高いセクションですが、他の場所でコードに問題があると思われる場合は、www.ethoma.com/testhome.phpを参照してください。 www.ethoma.com/getposts.phpへのリクエスト。なぜこのJavascriptはAjaxイベントを引き起こさないのですか?

のAjaxリクエストする機能:

function getPosts(category, page, sort) 
{ 
if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
         document.getElementById("postcontainer").innerHTML=xmlhttp.responseText; 
     } 
} 
var queryString = "?category=" + category + "&page=" + page + "&sort=" + sort; 
xmlhttp.open("GET","getuser.php" + queryString,true); 
xmlhttp.send(); 
} 

私のPHPページは、エコーの呼び出しを通じて、正しいHTMLコードを返す必要があります。ちなみに、私はPHPページ(初心者の質問)を通して返すコードの中にhtmlタグを埋め込むことはできますか?

このコードスニペットに問題がないと思われる場合は、再度その2ページを参照してください。この質問を閲覧/回答する皆様に感謝します。ここの皆さんは非常に役に立ちます。

+0

あなたはどのようなブラウザを使用しない= readyStateの= 2とステータスと呼ばれているのですか? 'xmlhttp.send(null)'を試してください。 – marc

+0

'getuser.php'の代わりに' getposts.php'を呼び出すべきではありませんか? – sitnik

+0

Cmon '、nowerdaysでは、jQueryやプロトタイプのような、あなたの場所で仕事全体を処理する、標準化された簡単なフレームワークを使い始めるべきです。 – Deele

答えて

0

あなたのサイトのライブバージョンを見て、onreadystatechangeのブレークポイントで実行しました。何も表示されない理由は、getuser.php 404です。呼ばれるURLは、http://www.ethoma.com/getuser.php?category=[object%20HTMLAllCollection]&page=1&sort=です(私はカテゴリがバグであるかなり確信している)と404を生成する

は特に、onreadystatechangeには、その後404

関連する問題