2016-07-31 9 views
-2

Ich versuche, eine Anfrage an eine PHP-Datei zu machen. Ich erfasse den Längen- und Breitengrad von einer Funktion in Google Maps-API und verwende AJAX, um diese Punkte in einer MySQL-Datenbank zu speichern.XMLHTTPRequest Access-Control-Allow-Origin

AJAX

function salvaPonto(latitude, longitude){ 
      $.ajax({ 
       type: "GET", 
       data: {latitude: latitude,longitude: longitude}, 
       url: "http://localhost/dados/salvaPonto.php", 
       datatype: 'JSONp', 
       success: function(data) { 
       alert("ok"); 
       }, 
       error: function(data){ 
       alert("erro"); 
       } 
      }); 
     } 

PHP Datei

<?php 

    header("Access-Control-Allow-Origin", "*"); 
    error_reporting(0); 
    $latitude = $_GET['latitude']; 
    $longitude = $_GET['longitude']; 

    $conn = mysql_connect('localhost', 'root', '') or die ('Erro de conexão com o banco de dados'); 
    mysql_select_db('app') or die ('Erro ao selecionar banco de dados'); 

    $myquery = "INSERT INTO pontos(latitude, longitude) VALUES ('".$latitude."', '".$longitude."');"; 

    $result = mysql_query($myquery) or die("Query error:".mysql_error()); 
    mysql_close($conn); 

    echo 1; 


?> 

Fehler:

XMLHttpRequest cannot load http://localhost/dados/salvaPonto.php?latitude=-22&longitude=-43 . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

+2

möglich Duplikat [ „Nein" Access-Control-Allow-Origin-Header auf die angeforderte Ressource vorhanden ist“] (http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource) – geocodezip

+0

möglicherweise verwandte Frage: [XMLHttpRequest kann nicht geladen werden. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Herkunft ist daher nicht erlaubt] (http://stackoverflow.com/questions/25445027/xmlhttprequest-cannot-load-no-access-control-allow-origin-header-is-present-o) – geocodezip

+0

Siehe [Domänenübergreifend Anfragen in Javascript] (https://jvaneyck.wordpress.com/2014/01/07/cross-domain-requests-in-javascript/) – geocodezip

Antwort

2

Lucas Sie mißbrauchen die 0.123.Funktion, so dass Ihr Access-Control-Allow-Origin nicht richtig eingestellt ist. header() akzeptiert den Header-Namen und den Wert als eine Zeichenfolge, nicht zwei. Wechsel:

header("Access-Control-Allow-Origin", "*"); 

An:

header('Access-Control-Allow-Origin: *'); 

See docs