[英]How to get data from php in JS on a native android app?
我正在開發一個跨平台應用程序,但是我的數據遇到了一些麻煩。
實際上,我有一個包含很多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(此地址在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)
顯示器上應該像這樣:
[
希望您能在這里了解我的問題...謝謝大家!
通過此鏈接:
謝謝@OldGeeksGuide給我這個鏈接! 我只需要在intel xdk中將鏈接添加到我的腳本中就可以了! 謝謝 !
您似乎試圖兩次回聲同一件事。 將數據返回到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;
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.