私は9つの異なるdivを持つphpページを持っています。これらのdivは、mysqlデータベースからページがリロードされるたびに更新されます。ページ全体を更新せずに自動的に実行したい。出来ますか?これはAjaxで実行できることは知っていますが、どのように実行するのかわかりません。誰かがそれに関する良いチュートリアルを教えてもらえますか?
1506 次
2 に答える
1
jQueryでこれを行うための簡単で効果的な方法があります:
概要:ajax呼び出しを指示するスクリプトで、データベースにクエリを実行し、divタグ内で置き換えたい更新されたHTMLをエコーアウトします。その後、divhtmlを内部の無名関数で返されたhtmlに置き換えるだけです。成功パラメータ:
JavascriptファイルでのAjax呼び出し
//wrap up your data in a GET style string seperated by ampersands (&)
var dataString = foo=1234&bar=12345
$.ajax({
type: "POST",
url: ajax.php,
data: dataString,
success: function(html) {
$("#refresh_div").html(html);
},
dataType: dataType
});
次に、「ajax.php」で、$_POSTスーパーグローバルを介してPHPスクリプトに送信したばかりの変数にアクセスします。
$foo = $_POST['foo'];
$bar = $_POST['bar']
$mysqli= new mysqli($params);
$stmt = $mysqli->prepare("SELECT * FROM myTable WHERE id=?");
$stmt->bind_param('i',$foo);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$stmt->close();
echo $result
エコーアウトされたすべてのtext/htmlは、htmlvarとしてajaxsuccessparamに戻され、divsの内容をjqueryに置き換えることができます。
お役に立てれば。
于 2013-02-07T11:09:12.797 に答える
1
私があなたの質問を正しく理解していれば
window.setInterval(function(){
// call your function here
// make tha ajax call here to update the divs
// this function will run every 5 secs and will make the AJAX call
// write the function here to update the divs
}, 5000);
以下を読む
ページを常に更新したくない場合は、div を更新する AJAX 呼び出しを行うだけです。
于 2013-02-07T11:04:40.307 に答える