Obtención de datos de MySQL en jquerymobile solo cuando actualizo la página

ok, estoy intentando cargar datos y pasar a otra página una vez que hago clic en un botón de búsqueda en mi index.html

este es mi botón de búsqueda

 <a href="results.html" data-role="button" data-icon="search"
 data-iconpos="notext">search</a>

y mientras se está cargando quiero que la página ejecute esta función y obtenga datos

      $(function () { $.getJSON("API.php", {
         command: "getBusiness",
         orig_lat: myPos.lat,
         orig_long: myPos.lon, 
         distance: 0.05 },

      function (result) { 
         $("#locations").html("");
         for (var i = 0; i < result.length; i++) {
            $("<a href='business.html?ID=" + result[i].id + "&bsnName=" + "'>
            <div>" + result[i].bsnName + " " + (parseInt(result[i].distance * 1000))
            "</div></a>").appendTo("#locations");}});});

La página se está cargando sin el DB solo cuando hago clic en actualizar, me muestra el resultado

No estoy seguro de lo que está mal aquí, ¿no debería usar getJSON? He visto gente hablando sobre .Ajax () ¿es lo mismo que getJSON ()?

¿Existe una mejor idea sobre cómo pasar a otra página y al mismo tiempo capturar datos de DB a la página que va a cargar en jquerymobile?

Traté de usar la misma función usando onclick funcionó cuando le di un div

el resto de la cabeza

 <link rel="stylesheet" href="styles/jquery.mobile.structure-1.1.0.min.css" />
    <link rel="stylesheet" href="styles/jquery.mobile.theme-1.1.0.min.css" />
    <link rel="stylesheet" href="styles/my.css" />
    <script src="scripts/jquery-1.7.2.min.js"></script>
    <script src="scripts/jquery.mobile-1.1.0.min.js"></script>
    <script src="scripts/cordova-1.8.1.js"></script>

        <script>

            // Wait for Cordova to load
            //
            document.addEventListener("deviceready", onDeviceReady, false);

            var watchID = null;
            var myPos = { lat: 32.0791, lon: 34.8156 };

            // Cordova is ready
            //
            function onDeviceReady() {
                // Throw an error if no update is received every 30 seconds
                var options = { timeout: 10000 };
                watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
            }

            // onSuccess Geolocation
            //
            function onSuccess(position) {
                var element = document.getElementById('geolocation');
                //myPos.lat=position.coords.latitude;
                //myPos.lon=position.coords.longitude;     

                element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' +
                            'Longitude: ' + position.coords.longitude + '<br />' +
                            '<hr />' + element.innerHTML;
            }

            // onError Callback receives a PositionError object
            //
            function onError(error) {
                alert('code: ' + error.code + '\n' +
              'message: ' + error.message + '\n');
            }

Respuestas a la pregunta(1)

Su respuesta a la pregunta