[英]Game project updating database using ajax
我正在嘗試制作沒有頁面刷新的實時游戲。 問題是當播放器在地圖上移動時,我不知道下一步該怎么做或如何配置ajax腳本來更新mysql數據庫。
這是我嘗試使用的ajax代碼。
//calling ajax to update player location when he move around
function send(url){
var request;
try{
request= new XMLHttpRequest();
} catch (e){
try{
request= new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
request= new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser broke!");
return false;
}
}
}
request.onreadystatechange = function(){
if(request.readyState == 4){
//I dont know what to add here :-(
}
}
request.open("GET", url, true);
request.send(null);
}
send("update_location.php?newX="+ toX + "&newY=" + toY)
update_location.php
<?php
$new_x=$_GET['newX'];
$new_y=$_GET['newY'];
//echo"$new_x , $new_y";
$update_loc=mysql_query("UPDATE users SET location_x='$new_x' WHERE username='admin'");
?>
主要思想是,當玩家在地圖上的任意位置移動時,ajax會將新的x和y值更新到數據庫中。我不需要添加任何按鈕或jquery代碼,我認為如果有人幫我這樣做,ajax會很好地工作。
PS toX和toY是我轉換為php vars的javascript vars,因此我可以將它們更新為mysql datavase.if有人可以幫助我做到這一點,我將不勝感激!
首先,在這種情況下,您要嘗試做什么。 從您的描述中,我認為不清楚。
如果您想基於ajax響應來做某事,那么onSucess
是正確的選擇,而不是onreadystatechange
。
如果您想對Ajax響應做一些事情,那么您應該從服務器端發送所需的數據,並使用它來執行JavaScript代碼中的所需操作。
例如。
new Ajax.Request('testurl',{
method: 'post',
parameters: {param1:"A", param2:"B", param3:"C"},
onSuccess: function(response){
//do something here
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.