-6
このスクリプトの出力はブラウザで正常です。私は自分でテストし、正確な結果を得ました。私が知りたいことは、どのようにファイルにレスポンスを書くかです。私はレスポンスを書こうとしましたが、出力の代わりにコードが書かれていました。エラーがあるかもしれませんので、テストされていない - あなたはこれらの線に沿って何かを試みることができるブラウザファイルへの応答を書き込む方法は?
このスクリプトの出力はブラウザで正常です。私は自分でテストし、正確な結果を得ました。私が知りたいことは、どのようにファイルにレスポンスを書くかです。私はレスポンスを書こうとしましたが、出力の代わりにコードが書かれていました。エラーがあるかもしれませんので、テストされていない - あなたはこれらの線に沿って何かを試みることができるブラウザファイルへの応答を書き込む方法は?
の
<?php
$loc = '<body onload="getLocation()">
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>';
//File Write
echo $loc;
$log = fopen("loc.txt", "a");
$info = "$loc\n";
fwrite($log, $info);
fclose($log);
?>
出力= GPS座標!私はあなたがコールバックを処理するためにAjaxの機能のいくつかの並べ替えを使用する必要があります
<?php
if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['lat'], $_POST['lng'])){
ob_clean();
$bytes = file_put_contents('loc.txt',json_encode($_POST) . PHP_EOL, FILE_APPEND);
exit($bytes ? 'ok' : 'bad foo');
}
$loc = '<body onload="getLocation()"><p id="demo"></p>
<script>
var x = document.getElementById("demo");
function ajax(url,callback,payload){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(this.status==200 && this.readyState==4)callback.call(this,this.response)
}
xhr.open("POST",url,true);
xhr.send(payload);
}
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
ajax.call(this, location.href, function(r){
alert(r)
}, 'lat='+position.coords.latitude+'&lng=' + position.coords.longitude);
}
</script>';
echo $loc;
?>
...あなたは、このようにしているとして、あなたがbodyタグをエコーしていないことを示唆している - PHPはjavascriptの前に実行されます – RamRaider