2017-08-01 169 views
0

我在獲得瀏覽器的位置做一個愚蠢的錯誤在DB發送數據,並使用一個外部IP存儲,AJAX和PHP file.I我得到一個錯誤作爲抓取瀏覽器的當前位置,並使用AJAX和PHP

Uncaught SyntaxError: Unexpected token :

我覺得我不是在PHP文件正確地發送數據,這是我的AJAX功能:

$(document).ready(function() { 
 
    $.get("https://ipinfo.io", function(response) { 
 
     var city_data = val(response.city); 
 
     var region_data = val(response.region); 
 
     data: {city: city_data, region: region_data}, 
 
     type: "post", 
 
     url: "test3.php", 
 
     success: function(data){ 
 
      alert("Data Saved: " + data); 
 
     } 
 
}, "jsonp"); 
 

 
});

和我的PHP文件:

<?php 
if(isset($_REQUEST)) 
{ 
mysql_connect("localhost","root",""); 
mysql_select_db("practice"); 
error_reporting(E_ALL && ~E_NOTICE); 
print_r($_POST); 
return; 
    $city=$_POST['city']; 
    $region=$_POST['region']; 
    $sql="INSERT INTO location(area,country) VALUES ('$city','$region')"; 
    $result=mysql_query($sql); 
    if($result){ 
    echo "Work Done."; 
    } 
    } 
    ?> 

我用mysql的,因爲這是一個測試,請對我的代碼來看看,讓我知道我錯在哪裏。提前致謝。

+0

請檢查您的語法。您的回調函數的主體與AJAX屬性混合在一起。 – DarthJDG

+4

既然你在練習,爲什麼你現在不採用PDO?如果以後出現問題,將節省大量的時間,更不用說'mysql_ *'已被棄用*現在*。閱讀** [小博客](https://xkcd.com/327/)**和SQL注入。 – YvesLeBorg

+0

@DarthJDG你可以寫在我做錯了的答案領域,因爲我沒有得到它。由於 –

回答

1

你有錯誤的語法,誰說@DarthJDG添加$就您的要求

jQuery(document).ready(function($){ 
    $.getJSON('https://ipinfo.io', function(data){ 
     var city_data = data.city; 
     var region_data = data.region; 
     $.ajax({ 
     data: {city: city_data, region: region_data}, 
     type: "post", 
     url: "test3.php", 
     success: function(data){ 
      alert("Data Saved: " + data); 
     } 
     }) 
    }) 

}); 
+0

它解決了我的錯誤,但數據沒有得到存儲在數據庫中 –

+0

您刪除'的print_r($ _ POST);返回;'?絕版'$ sql'的MySQL客戶端或命令行MySQL的執行,看看它的輸出提供了命令行 –

+0

是的,我做到了,但沒有任何反應 –

1

你混了數據對象和成功回調,將竭誠爲您服務您的問題。據的jQuery.get()文檔,所述第一參數是URL,所述第二數據對象,該第三如果請求成功回調和最後一個數據類型(如json,或htmlxml)。

$(document).ready(function() { 
 
    $.get("https://ipinfo.io", function(response) { 
 
     console.log(response); 
 

 
     var city_data = response.city; 
 
     var region_data = response.region; 
 

 
     $.post("test3.php", 
 
      { 
 
       // data 
 
       city: city_data, 
 
       region: region_data 
 
      }, 
 
      function (data) { 
 
       // success 
 
       console.log("data successfully saved."); 
 
      } 
 
     ) 
 
    }, "json") 
 
     .fail(function(jqXHR, textStatus, errorThrown) { 
 
      console.log(textStatus, errorThrown) 
 
     }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

您好,我沒有得到任何錯誤,但數據也沒有得到存儲在數據庫中 –

+0

查看開發人員工具控制檯。你有錯誤嗎? – Spingolini

+0

沒有我沒有在控制檯得到任何錯誤 –

相關問題