错误:火狐在元素列表后给我“缺少]”


Error: firefox gives me “missing ] after element list”

我想做的是使用 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);?>

有什么想法吗?

可以使用

函数对象以及要执行的代码字符串来调用setInterval$.ajax 返回一个 jqXHR 对象,该对象被强制转换为字符串 "[object Object]" 。然后,此字符串作为代码执行,并引发错误。

您希望将$.ajax调用包装在一个函数中:

var timeNow = setInterval(function() {
    $.ajax({
        url:"process/time.php",
        success: function(msg) {$('#time').text(msg);}
    });
}, 1000);
<?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>
var timeNow = setInterval(
    function() {  // you missed function within setInterval()
    $.ajax({
        url: "process/time.php",
        success: function(msg) {
            $('#time').text(msg);
        }
    }, 1000);

一个更简单的解决方案如下:

var timeNow = setInterval(
    function() {
    $("#time").load("process/time.php");
    }, 1000);

参见jQuery load()方法;它是为这种事情而设计的。

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();">上调用它