Я использую сервер CPanel, и у меня есть доменное имя в конфиге для моего мобильного приложения, но когда я загружаю индекс и все компоненты (Javascripts, файлы PHP, SCSS, CSS) на сервер и Phonegap и загрузить его на моем мобильном устройстве, он не извлекает данные из таблиц MySQL. Он иногда показывает раскрывающийся список предприятий на локальной машине и мобильном устройстве, но не маркеры, которые хранятся во второй таблице. Я думаю, мне нужно добавить плагины в файл Config, но я не уверен, какие из них. Мне также нужно заставить AJAX или JSON работать. В настоящее время я добавил источник доступа = «мое доменное имя», но он по-прежнему не хочет полностью получать информацию с сервера. Он извлекает все остальные компоненты, но этот PHP, похоже, не имеет своей функциональности. (PS. Приложение отлично работает при открытии с сервера, но не на локальном компьютере). Вот мой код:Внешний домен не передает значения через ajax-запрос
AJAX + JavaScript
<div id="Manu">
<div class="Cheltenham">
<select id="Cheltenham" class="select" data-theme="d"></select>
</div>
<!--Map-->
<div id="myMap">
<script>src="http://maps.googleapis.com/maps/api/js"></script>
<script type="text/javascript">
/* call the php that has the php array which is json_encoded */
$.ajax({
url: 'http://ct5006-14h.studentsites.glos.ac.uk/FinalProject/cheltenham.php',
type: 'GET',
dataType: "jsonp",
jsonp: 'jsoncallback',
crossDomain: true,
success: function (data, status) {
alert("ajax success");
/* call the php that has the php array which is json_encoded */
//$.getJSON('', function(data){
/* data will hold the php array as a javascript object */
$.each(data, function(key, val){
var x = document.getElementById("Cheltenham");
var option = document.createElement("option");
option.text = val.BUSTYPE;
option.value = val.REFERENCE;
x.add(option);
});
//});
},
error: function (request, status, error) {
alert(status);
}
});
</script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
$(document).on('click', '#Cheltenham', function() {
var x = document.getElementById("Cheltenham");
var referenceID = x.options[x.selectedIndex].value;
console.log("referenceID:" + referenceID);
console.log("test:" + referenceID);
var mapCanvas = document.getElementById('myMap');
var mapOptions = {
center: new google.maps.LatLng(51.8979988098144,-2.0838599205017),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(mapCanvas, mapOptions);
$.getJSON('SearchBusinesses.php?REFERENCE='+referenceID, function(data){
/* data will hold the php array as a javascript object */
/* data will hold the php array as a javascript object */
$.each(data, function(key, val){
var v_lati = val.LATITUDE;
var v_longi = val.LONGITUDE;
var myLatlng = new google.maps.LatLng(v_lati,v_longi);
console.log("LatLongNew:" + myLatlng);
var marker = new google.maps.Marker({
map: map,
icon: 'images/marker.png',
position: myLatlng,
animation: google.maps.Animation.DROP,
draggable: false,
});
var contentString = '' + val.NAME;
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
});
});
});
console.log("test1:" + referenceID);
google.maps.event.trigger(map, 'resize');
});
</script>
<script>
function initialize() {
var mapCanvas = document.getElementById('myMap');
var mapOptions = {
center: new google.maps.LatLng(51.8979988098144,-2.0838599205017),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(mapCanvas, mapOptions)
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</div>
</div>
cheltenham.php
<?php
$servername = "localhost";
$username = "...";
$password = "...";
$dbname = "...";
function getEventList(){
global $servername, $username, $password, $dbname;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM `BUSINESS_TYPE`";
$result = $conn->query($sql);
$rows = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
} else {
//echo "0 results" . "<br>";
}
echo $_GET ['jsoncallback'].'('. json_encode($rows).');';
$conn->close();
}
getEventList();
?>
SearchBusinesses.php
<?php
$servername = "...";
$username = "...";
$password = "...";
$dbname = "...";
$evReference = $_GET['REFERENCE'];
function getEventOne(){
global $servername, $username, $password, $dbname, $evReference;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT `LATITUDE`, `LONGITUDE`, `NAME` FROM `BUSINESSES` where `REFERENCE` = '" . $evReference . "'";
$result = $conn->query($sql);
$rows = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
} else {
//echo "0 results" . "<br>";
}
echo json_encode($rows);
$conn->close();
}
getEventOne();
?>
где ваш Аякса? –
Должен ли я использовать его? Я не знал, что это первый раз, когда я делаю такие вещи. – UZIERSKI
Какой код Ajax нужно добавить? Нужно ли включать его в отдельный файл или внутри индексного файла? – UZIERSKI