私はいくつかの同様のスレッドを調べましたが、どこが間違っているのか正確にはわかりません。 AJAX & PHPを使用して、私が作成しているアプリに&人のユーザーを登録しています。私はAJAX & PHPが、すべてのもの(ダミーラフ& lngの値さえ)をデータベーステーブルに保存するので、PHPが動作することを知っています。 私は数時間、変数を使って遊んできました。これまでのところ私が持っていた最良の結果は、データベースに「0」という値が挿入されていることです。AJAXを使用してジオロケーションデータをPHPに投稿する
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
getCurrentLocation();
}
function onError(message) {
navigator.notification.alert(message, "", "Error");
}
function getCurrentLocation() {
navigator.geolocation.getCurrentPosition(locationSuccess, onError);
}
function locationSuccess(position) {
lat = document.getElementById("latSpan");
lon = document.getElementById("latSpan");
latitude = position.coords.latitude;
longitude = position.coords.longitude;
}
//recording function
function getXMLObject() //XML OBJECT
{
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") // For Old Microsoft Browsers
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") // For Microsoft IE 6.0+
}
catch (e2) {
xmlHttp = false // No Browser accepts the XMLHTTP Object then false
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined')
{
xmlHttp = new XMLHttpRequest(); //For Mozilla, Opera Browsers
}
return xmlHttp; // Mandatory Statement returning the ajax object created
}
var xmlhttp = new getXMLObject(); //xmlhttp holds the ajax object
function ajaxFunction() {
var getdate = new Date(); //Used to prevent caching during ajax call
if(xmlhttp) {
xmlhttp.open("POST","http://www.lauracrane.co.uk/app/rec/location.php",true); //
xmlhttp.onreadystatechange = handleServerResponse;
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send("latitude=" + latitude + "&longitude=" + longitude);
}
}
function handleServerResponse() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
document.getElementById("message").innerHTML=xmlhttp.responseText;
}
else {
alert("Error during AJAX call. Please try again");
}
}}'
それはAJAX機能にLAT & LNGの値を渡していない理由を誰かが見ることができる場合、私は思っていました。
ご協力いただければ幸いです。 :)
ラウラ
あなたはPHP側で受信されたデータを確認しましたか?それは大丈夫だと思うので。緯度と経度を保存するためにINTを使用している場合は、データベース側に問題がある可能性があります。 – cleanunicorn
こんにちは、それはVARCHARです。 :) – LCrane86