-1

所以我必须将客户端脚本运行时间记录到服务器端日志文件中。我测量函数花费的时间,然后通过 ajax 将其报告给服务器。这段代码看起来正确吗?我现在无法访问生产服务器,XAMPP 出现故障,我不想把它展示给我的老板,直到我确定它会工作。这是我第一次使用 AJAX,第二次使用 JS。

在我的 index.php 中:

function search(x,acc)
    {
           var startTime = new Date().getTime();
           //do work
           //
           var endTime = new Date().getTime() - startTime;
           var outputMessage = "The process took: " + max/1000 + "seconds";
           console.log(outputMessage);
           $.ajax({
           type: "POST",
           url: "ajaxCallback.php",
           data: {outputMessage},
           success: function()
                    {
                        console.log("Client Side : Ajax post     submitted.");
                    }
            }
    }

然后ajaxCallback.php:

<?php
    $stringData = $_POST['outputMessage']; 
    echo $stringData;
    $myFile = "logFile.log";
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, $stringData);
    fclose($fh);
?>
4

1 回答 1

0

您通话data中的参数ajax需要使用一key/value对:

data: {outputMessage:outputMessage}

在您的 中,未定义outputMessage变量。max

使用时还应考虑适当的错误处理fopen

if($fh = fopen($myFile, 'a')){
    fwrite($fh, $stringData);
    fclose($fh);    
}else{
    die("can't open file");
}

其他一切看起来都很简单。

于 2013-07-15T16:08:01.540 回答