我试图让服务器显示客户端的日期和时间,但是没有显示正确的输出。以下是代码的相关部分:
<script type="text/javascript">
$(function(){
var d = new Date();
var dateStr = d.toString()
$.post(window.location, {
dateStr: dateStr
});
alert(dateStr);
});
</script>
<div id="divMessage">
<?php
$dstr = 'nothing!';
if(isset($_POST["dateStr"]) && strlen(trim($_POST["dateStr"])) > 0)
$dstr = $_POST["dateStr"];
$v = 'current date/time is '.$dstr;
echo "<span style=\"color:green\">$v</span>";
?>
</div>
如果代码正确,我应该看到"current date time is <client's date/time>"
,但我看到"current date time is nothing!"
。我在这做什么错?
答案 0 :(得分:1)
这是你缺少的,看看从服务器返回的数据:)
alert(document.referrer);
无论如何你需要分割文件,因为我认为这将返回整个页面,并且你的颜色跨度:)
答案 1 :(得分:1)
正如其他人所说,你必须使用2个文件,其中一个用js,而另一个用于php,在file.php中,你可以制作你想要的东西,例如保存在db中。如果您不理解可以随意询问的内容,我会尝试对代码进行评论。
检查保存文件php的路径
file.php
<?php
$result = Array();
if (isset($_POST['action'])) {
$client_date = new Date();
// HERE YOU CAN USE FOR SAVE IN DB
$result ['result_msg'] = 'success';
$result ['client_date'] = $client_date;
} else {
$result ['result_msg'] = 'error';
}
echo json_encode($result);
?>
HTML
$(document).ready(function(){
$.ajax({
type: "POST",
url: "file.php",
data: {
action : 'what you want'
// IF YOU WANNA SAVE CLIENT INFORMATION HAVE TO MAKE A FORM AND PASS DATA HERE FOR EXAMPLE CLIENT ID ....
},
dataType: 'json'
}).done (function(result) {
result = JSON.parse(JSON.stringify(result));
if (result.result_msg === 'success') {
console.log(result.client_date); // YOU CAN SHOW IN HTML DIV
} else {
console.log('ERROR');
}
}).fail(function(result) {
console.log('ERROR');
});
});
干杯!!!
答案 2 :(得分:1)
希望这会有所帮助,您需要添加一些内容才能使其正常工作。
检查页面是否通过post提交,然后解析消息的响应以重新显示它。
<script type="text/javascript">
$(function(){
var d = new Date();
var dateStr = d.toString();
$.post(window.location, {
dateStr: dateStr
}).success(function(data){
var res = $(data).filter('#divMessage').text();
//console.log(res);
$('#divMessage').replaceWith(res);
});
});
</script>
<div id="divMessage">
<?php
//include "simple_html_dom.php";
//$html = new simple_html_dom();
//$html->load_file('index2.php');
//$v = $html->find('div[id=box]', 0)->plaintext;
if (!empty($_POST['dateStr'])) {
$dstr = 'nothing!';
if (isset($_POST["dateStr"]) && strlen(trim($_POST["dateStr"])) > 0) {
$dstr = $_POST["dateStr"];
}
$v2 = 'current date/time is ' . $dstr;
echo "<span style=\"color:green\">$v2</span>";
}
?>
</div>