2012-02-20 40 views
0

我試圖通過經緯度值在控制器中的指數函數命名Add用ajax。谷歌Chrome瀏覽reveles正確的地理位置,但是當我嘗試使用$this->input->post('latitude)$this->input->post('longitude')通過在控制器值這些都是空白。一些想法?傳遞值控制器笨在jQuery Mobile的

<script type="text/javascript"> 
     $(document).ready(function(){ 
      get_location(); 
     }); 

     function get_location() 
     { 
      if(navigator.geolocation) 
      { 
      register_coords(navigator.geolocation.getCurrentPosition()); 
      } 
     } 

     function register_coords(position) 
     { 
      var latitude = position.coords.latitude; 
      var longitude = position.coords.longitude; 

      $.post("http://mysite:8888/add", {latitude:latitude, longitude:longitude}); 
     } 

    console.log(position.coords); 
    </script> 

Uncaught ReferenceError: position is not defined 
+0

首先,檢查latittude和經度實際上做的這兩個值一個簡單的JavaScript警告()組成的價值。然後檢查你的httpd日誌記錄或者你的控制器是否有日誌記錄,看到ajax post調用是真的嗎? – Jasonw 2012-02-21 03:40:49

+0

首先在alert javascript窗口中正確輸出值。 – 2012-02-21 10:43:04

回答

0

您切換了參數和函數調用。它應該是: register_coords(navigator.geolocation.getCurrentPosition());

編輯:完整的答案

+0

ok我在腳本的末尾添加了console.log(position.coords),這是錯誤:Uncaught ReferenceError:position is not defined。一些想法? – 2012-02-20 16:57:49

+0

查看更新的響應 – Mike 2012-02-20 17:02:19

+0

沒有它不工作...另一個錯誤出現:未捕獲ReferenceError:位置未定義 未捕獲錯誤:TYPE_MISMATCH_ERR:DOM異常17 – 2012-02-20 17:07:20