Приведенный ниже код работает отлично, используя сервер wamp на localhost. Он вызывает php-файл, который подключается к базе данных MySql и возвращает данные.
Однако я пытаюсь создать mobileapp с помощью PhoneGap. Код ниже находится в файле HTML. Мои вопросы: как мой html-файл установит соединение с сервером с помощью ajax, как только я загружу его в телефонную записях и сгенерирую файл .apk. Так как приведенный ниже код просто вызывает файл getbustime.php без каких-либо параметров веб-сервера.
Я разработал приложение в телефоне с помощью HTML, jQueryMobile, Ajax и теперь хочу загрузить справку?
function getBusTime(){ if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("resultLogBus").innerHTML=xmlhttp.responseText; // $('#resultLogBus').html(xmlhttp.responseText).selectmenu( "refresh"); } } xmlhttp.open("GET","getbustime.php?direction="+direction+"&busnum="+busnum+"&dayofweek="+dayofweek+"&stopname="+stopname+"&starttime="+starttime+"&endtime="+endtime,true); xmlhttp.send(); }//End of function getBusTime </script>
В принципе, вам нужно установить полный путь к файлу server / php в вашем вызове ajax, например:
xmlhttp.open("GET","http://<YOUR_SERVER_NAME>/getbustime.php?direction="+direction+"&busnum="+busnum+"&dayofweek="+dayofweek+"&stopname="+stopname+"&starttime="+starttime+"&endtime="+endtime,true);
Пара других вещей, которые вы также можете сделать в зависимости от ваших обстоятельств:
установите этот тег в phonegap config.xml:
<access origin="*" />
Я делаю всю свою телефонную раскрутку в Chrome и обеспечивает защиту Cross-Origin. Как только вы попытаетесь протестировать реальный адрес своего сервера (вместо localhost), Chrome заблокирует его, если сервер не настроен для CORS. Легкий способ включить это для тестирования в PHP на вашем сервере:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Requested-With, Content-Type');