2

私がやろうとしているのは、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);?>

何か案は?

4

5 に答える 5

6

setInterval関数オブジェクトと実行するコードの文字列で呼び出すことができます。string にキャストされ$.ajaxたオブジェクトを返します。この文字列はコードとして実行され、エラーが発生します。jqXHR"[object Object]"

$.ajax呼び出しを関数でラップします。

var timeNow = setInterval(function() {
    $.ajax({
        url:"process/time.php",
        success: function(msg) {$('#time').text(msg);}
    });
}, 1000);
于 2012-06-15T07:11:35.227 に答える
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>
于 2012-06-15T07:18:35.913 に答える
1

はるかに簡単な解決策は次のとおりです。

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

jQueryload()メソッドを参照してください。それはこの種のもののために設計されています。

于 2012-06-15T07:14:32.710 に答える
1
var timeNow = setInterval(
    function() {  // you missed function within setInterval()
    $.ajax({
        url: "process/time.php",
        success: function(msg) {
            $('#time').text(msg);
        }
    }, 1000);
于 2012-06-15T07:12:22.170 に答える
-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();">

于 2012-06-15T07:32:48.807 に答える