Add
という名前のコントローラのインデックス関数に緯度と経度の値を渡そうとしています。 google chrome browserは正しくgeolocationを表示しますが、$this->input->post('latitude)
を使用してコントローラに値を渡そうとすると、$this->input->post('longitude')
は空白になります。いくつかのアイデア?jqueryモバイルでajaxを使用してcodeigniterのコントローラに値を渡す
<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
まず、latittudeと経度が実際にこの2つの値の簡単なjavascriptのアラートを()実行して値で構成されていることを確認してください。その後、あなたのhttpdのロギングをチェックするか、コントローラにロギングがあるかどうか、ajaxのポストコールが実際に行われたかどうかを確認してください。 – Jasonw
まず、値はアラートのjavascriptウィンドウに正しく出力されます。 –