2017-08-11 1 views
-2

Ich bin neu bei JS und JSON. Also muss ich ein JSON mit POST massiv an Google API senden und die Antwort erhalten und per Alert anzeigen. Ich habe diese Seite geschrieben, aber dieser Code hat kein Ergebnis.AJAX Probleme mit dem Senden von POST und Ergebnis

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>Redericting</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
</head> 
<body> 
    <script type="text/javascript"> 
    $.ajax({ 
     type: "POST", 
     url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=KEY', 
     data: '{wifiAccessPoints:["macAddress", "signalStrength"], cellTowers:["cellId", "locationAreaCode", "mobileCountryCode", "mobileNetworkCode"]}', 
     dataType: "json", 
     success: function(response) { 
      alert(response); 

     } 
    }); 

    </script> 
</body> 
</html> 
+0

Es scheint, dass Sie nicht json Daten, sondern String-Wert sind vorbei in Daten –

+0

Ihre Datenobjekt-Attribut sollte 'Daten: {wifiAccessPoints: [„macaddress“,„Signalstärke“], cellTowers: ["cellId", "locationAreaCode", "mobileCountryCode", "mobileNetworkCode"]} ', // entferne einzelne Anführungszeichen um –

+0

@ serdar.sanri Danke, es war ein Fehler. Aber es gibt keine Antwort jetzt – Aleksandr

Antwort

0

Wenn AJAX benötigen Sie den Inhaltstyp der Informationen festlegen, die Sie senden. Standardmäßig ist dieser Wert auf application/x-www-form-urlencoded; charset=UTF-8 festgelegt.

$.ajax({ 
    type: "POST", 
    url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=KEY', 
    data: JSON.stringify({wifiAccessPoints:["macAddress", "signalStrength"], cellTowers:["cellId", "locationAreaCode", "mobileCountryCode", "mobileNetworkCode"]}), 
    contentType: "json", 
    success: function(response) { 
     alert(response); 
    } 
    }); 
+0

Danke an @ kevin-b für das Abrufen des Anfragetext-Problems. –

-1

Senden Sie die Antwort im JSON-Format? Datentypeigenschaft bezieht sich auf den Typ, den Sie vom Server zurückgeben. Und wenn das nicht übereinstimmt, wird die Steuerung den Fehlerrückruf ausführen. Entfernen oder aktualisieren Sie die Datentypeigenschaft so, dass sie dem Antworttyp entspricht. Nehmen Sie die folgenden Änderungen und versuchen

$.ajax({ 
     type: "POST", 
     url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=KEY', 
     data: '{wifiAccessPoints:["macAddress", "signalStrength"], cellTowers:["cellId", "locationAreaCode", "mobileCountryCode", "mobileNetworkCode"]}',    
     success: function(response) { 
      alert(response); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert("error"); 
     } 
    });