2016-04-03 6 views
0

mein ajax.php SkriptJQuery Ajax Beitrag Variablen gibt, ich weiß

<?php 
$lat =$_POST['lat']; 
$lon = $_POST['lon']; 
echo $lat; 
echo $lon; 
?> 

Und meine new.html Seite

<!DOCTYPE html> 
<html><head><script src="jquery-1.12.0.min.js"></script> 
</head> 
<body> 

<p>Click the button to get your coordinates.</p> 
<input type="text" name="metin"/><br/> 
<button onclick="getLocation()">Try It</button> 

<p id="demo"></p> 


<p id="demo1"></p> 
<script> 

var x = document.getElementById("demo"); 
var y = document.getElementById("demo1"); 

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; 
    var lon= position.coords.longitude; 
    var lat= position.coords.longitude; 
    y.innerHTML=lon; 
    x.innerHTML=lat; 
    $.ajax({ 
      type: 'POST', 
      url: 'ajax.php', 
      data: { lat:lat, lon:lon} 
      success: function(result) { 
       $('#sonuc').html(result); 
      }, 
      error: function() { 
       alert('Some error found. Please try again!'); 
      } 
     }); 
    } 
} 

</script> 

<p id="sonuc"></p> 
</body> 
</html> 

Erstens php nicht verwendeten Codes ist. Aber ich werde diese Blöcke benutzen. Ich gebe keine Antwort. Ich muss erfolgreich arbeiten. Aber es gibt nicht lat und variables auf meiner PHP-Seite. Wenn es eine andere Möglichkeit gibt, Variablen an die PHP-Seite zu senden, kann ich es versuchen.

+1

ist Ihre Ajax-Aufruf nie gemacht, weil Sie Syntaxfehler haben. Sie haben ein zusätzliches schließendes '}' und Sie verpassen das Komma nach 'data: {lat: lat, lon: lon}', was Ihnen aufgefallen wäre, hätten Sie die Browser-Konsole geöffnet. – adeneo

+0

@adeneo Vielen Dank. Ich bin sehr dankbar. Es funktioniert jetzt. Danke nochmal. Ich habe es seit 1 Woche ausgeteilt. –

Antwort

0

Keine funktionalen Probleme im Code. Aber es gibt einige Syntaxfehler, die die Ajax-Anfrage blockieren.

  • Vermeiden Sie die zusätzliche schließende Klammer unterhalb der Funktion showPosition().
  • Komma nach dem Datenabschnitt in Ajax-Anfrage hinzufügen.

Korrigierter Code ist unten angegeben.

<script> 
 

 
var x = document.getElementById("demo"); 
 
var y = document.getElementById("demo1"); 
 

 
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; 
 
    var lon= position.coords.longitude; 
 
    var lat= position.coords.longitude; 
 
    y.innerHTML=lon; 
 
    x.innerHTML=lat; 
 
    $.ajax({ 
 
      type: 'POST', 
 
      url: 'ajax.php', 
 
      data: { lat:lat, lon:lon}, 
 
      success: function(result) { 
 
       $('#sonuc').html(result); 
 
      }, 
 
      error: function() { 
 
       alert('Some error found. Please try again!'); 
 
      } 
 
    }); 
 
} 
 

 
</script>