我要做的是使用ajax从另一个php文件中获取时间。
因此javascript代码如下所示:
var timeNow = setInterval(
$.ajax({
url: "process/time.php",
success: function(msg) {
$('#time').text(msg);
}
}), 1000);
这是发布到的PHP代码。
<?php echo gmdate('h:i:s A', time() + 8 * 3600);?>
有什么想法吗?
答案 0 :(得分:6)
setInterval
。 $.ajax
返回一个jqXHR
对象,该对象已转换为字符串"[object Object]"
。然后该字符串作为代码执行,并引发错误。
您希望将$.ajax
调用包装在函数中:
var timeNow = setInterval(function() {
$.ajax({
url:"process/time.php",
success: function(msg) {$('#time').text(msg);}
});
}, 1000);
答案 1 :(得分:2)
<?php
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'){
header('Content-Type: application/json');
echo json_encode(array('server_time'=>gmdate('h:i:s A', time() + 8 * 3600)));
die;
}
?>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
function polltime(){
setTimeout(function(){
$.ajax({ url: "./get_time.php", cache: false,
success: function(data){
$("#time").replaceWith("<p id=\"time\">"+data.server_time+"</p>");
polltime();
}, dataType: "json"});
}, 1000);
}
$(document).ready(function(){
polltime();
});
</script>
<p id="time"><?php echo gmdate('h:i:s A', time() + 8 * 3600);?></p>
答案 2 :(得分:1)
var timeNow = setInterval(
function() { // you missed function within setInterval()
$.ajax({
url: "process/time.php",
success: function(msg) {
$('#time').text(msg);
}
}, 1000);
答案 3 :(得分:1)
更简单的解决方案如下:
var timeNow = setInterval(
function() {
$("#time").load("process/time.php");
}, 1000);
参见jQuery load()
方法;它专为此类事物而设计。
答案 4 :(得分:-2)
var timeNow = setInterval(
$.ajax({
url: "process/time.php",
success: function(msg) {
$('#time').html(msg); //you have to use html instead
}
}), 1000);
创建一个函数并将代码放在其上并在<body onload"function_name();">