如何使用Ajax调用获取SERVER日期?

时间:2015-04-23 03:48:51

标签: javascript php html ajax

现在我正在尝试获取本地主持人的日期。但是ajax请求无法成功运行。我该怎么做?

Html代码:脚本标记中包含ajax代码。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language=”javascript” type=”text/javascript”>

function ajaxFunction()
{
var xh;
try
  {
  // Firefox, Opera 8.0+, Safari
  xh=new XMLHttpRequest();
  }
catch (e)
  {
    alert("Your browser does not support AJAX!");
   }

		xh.onreadystatechange=stateChanged;

		xh.open("GET","19_time.php",true);
		xh.send(null);
		tt=timer_function();
  
 
}

function stateChanged() 
  {
			if(xh.readyState==4)
				document.getElementById("time").innerHTML=xh.responseText;
}

 function timer_function(){
		var mytime= setInterval(AjaxFunction,1000);
}

window.addEventListener('load',AjaxFunction,false);
</script>
</head>

<body>
<html>
<body>

	<div id="time"  style="height:10%; width:30%; margin:4%; margin-top:10%; border:5px solid #804;  font-size:26px; " ></div>
</body>
</html>
&#13;
&#13;
&#13;

Php代码:连接到服务器并发送结果

&#13;
&#13;
<?Php
///////// Database Details , add  here  ////
//$dbhost_name = "localhost";
//$username = "root";                  //  Login user id 
//$password = "";                  //   Login password
/////////// End of Database Details //////


	//$con=mysql_connect($dbhost_name,$username,$password) or die("Couldn't connect: ".mysql_error());
	//mysql_select_db($database,$con) or die("Error selecting database: ".mysql_error());

//////// Do not Edit below /////////

		$con = mysql_connect('localhost', 'root', '');
		
		$msg="";
		$msg .=$con->date('Y-m-d H:i:s');
		echo $msg;
		
	


?> 
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

date()不是mysql_connect中的函数,因此$ con&gt; date()将不执行任何操作。 date()是一个php函数。

如果您正在尝试获取mysql服务器时间:

$con = mysql_connect('localhost', 'root', '');
$qry = "SELECT NOW()";
$sql_time = $con->mysql_query($qry);
echo json_encode($sql_time);

否则,如果你只想要php服务器时间(应该是系统时间),只需要这段代码:

echo json_encode(date('Y-m-d H:i:s'));

在ajax调用后将响应数据从php发送回客户端时,请确保json_encode响应。

答案 1 :(得分:0)

首先,尝试使用jQuery来简化JavaScript并确保它可以在大多数浏览器上运行:

<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script language=”javascript” type=”text/javascript”>
$( document ).ready(function() {
  $.ajax({
    url: "19_time.php",
    cache: false // Ensure each request will hit the server
  })
  .done(function( serverDate ) {
    $( "#time" ).html( serverDate ); // Update the HTML with the server response
  });
});
</script>

然后,如果您只想要服务器日期,则不需要查询数据库:

<?php
  echo date('Y-m-d H:i:s')
?>