Как получить данные из php в JS на нативном приложении для Android?

Я работаю над кроссплатформенным приложением, и у меня возникли проблемы с моими данными.

На самом деле у меня есть полный веб-сайт с большим количеством php, и я работаю с Intel XDK, чтобы сделать нативное приложение для этого сайта.

Но вот в чем дело, я знаю, что могу запускать php в своем родном приложении, поэтому я пытаюсь выполнить несколько сценариев непосредственно на моем сервере и получить результат с помощью ajax-запроса.

Вот код: (Javascript)

var games = location.search;
var res = games.split("=");

$.ajax({    //create an ajax request to a page that prints the address.
url: "http://tonight-app.fr/php/mobile_app/getGamesLists.php",  //url for the address page
data: {"name": res[1]},
success: function(result){
var games = result; //create a variable and give it the value of the response data
var gamesSplit = games.split(";");
for(i=0;i<gamesSplit.length;i++){
var gamesSplit2 = gamesSplit[i].split(",");
test(gamesSplit2[0]);
}
}
});

function test(gamesSplit2) {
console.log(gamesSplit2);
var ul = document.createElement("ul");
ul.id = "email-list";
ul.innerHTML = gamesSplit2;
document.getElementById('test').appendChild(ul);
}

Вот php на сервере (по этому адресу упоминается в URL ajax)

<?php
require_once("connect_database.php");
mysqli_set_charset($con, "utf8");
$name = $_GET["name"];
$sql="SELECT * FROM `games`";
$reponse = mysqli_query($con, $sql);

while ($row = mysqli_fetch_array($reponse, MYSQL_NUM)) {
if ($row[2] == $name) {
echo $result = '
<a href="gamesReceipes.php?id=',$row[0],'">
<li class="unread clickable-row">
<div class="name">
',$row[1],'
</div>
<div class="message">
Voir la préparation
</div>
</li>;';
}
}
echo $result;
?>

Для пояснения, я выполняю свой php-скрипт, который дал мне $ result, и я должен отобразить этот результат в моем Ajax.

Он работает на эмуляторе в Intel XDK, но не после того, как я создаю приложение! (Конечно, на моем телефоне активирован 4g)

Это должно быть так на дисплее:

[Вот дисплей [1]

Я надеюсь, что вы можете понять мою проблему здесь … Спасибо, ребята!

0

Решение

По этой ссылке:

https://software.intel.com/en-us/articles/cordova-whitelisting-with-intel-xdk-for-ajax-and-launching-external-apps

Спасибо @OldGeeksGuide, который дал мне эту ссылку! Мне просто нужно было добавить ссылку на мой скрипт в intel xdk, и это сработало! Спасибо !

1

Другие решения

Вы, кажется, пытаетесь повторить одно и то же дважды. возврат данных в вызов AJAX должен быть выполнен один раз, и последнее, что вы делаете в скрипте.

<?php
require_once("connect_database.php");
mysqli_set_charset($con, "utf8");
$name = $_GET["name"];
$sql="SELECT * FROM `games`";
$reponse = mysqli_query($con, $sql);

// init the $result var
$result = '';


// incorrect parameter constant
//while ($row = mysqli_fetch_array($reponse, MYSQL_NUM)) {
while ($row = mysqli_fetch_array($reponse, MYSQLI_NUM)) {
if ($row[2] == $name) {
//echo $result = '
$result .= '
<a href="gamesReceipes.php?id=' . $row[0] . '">
<li class="unread clickable-row">
<div class="name">
' . $row[1] . '
</div>
<div class="message">
Voir la préparation
</div>
</li>;';
}
}
echo $result;
?>

Вы также можете упростить это.

Как вы проходите name игры в этот сценарий, вы можете добавить это к запросу в качестве критерия поиска, а затем удалить много ненужной обработки.

<?php
require_once("connect_database.php");
mysqli_set_charset($con, "utf8");

// init the $result var
$result = '';

if ( isset($_GET['name'] ) {
$name = $_GET["name"];
$sql="SELECT * FROM `games` WHERE `name` = '$name'";
$reponse = mysqli_query($con, $sql);

// I assume there is only one ro w that contains this name
// so the loop is not required now
while ($row = mysqli_fetch_array($reponse, MYSQLI_NUM)) {

$result .= '
<a href="gamesReceipes.php?id=' . $row[0] . '">
<li class="unread clickable-row">
<div class="name">' . $row[1] . '</div>
<div class="message">Voir la préparation</div>
</li>;';
}
} else {
$result = 'No name parameter passed';
}
echo $result;
exit;
?>
0

По вопросам рекламы [email protected]