Framework7 不显示数据库中的任何数据

Framework7 don't show any data from database

我是 Framework7 的新手。我想使用 AJAX 从数据库中获取数据。它在浏览器上按预期工作,我可以获取数据并将其显示在 HTML 文件中,尽管当我将其转换为 apk(使用 Cordova)时它无法显示任何数据。我正在使用外部数据库进行测试。

PHP代码:

$db['db_host'] = 'remotemysql.com';
$db['db_user'] = 'user';
$db['db_pass'] = 'pass';
$db['db_name'] = 'name';

foreach ( $db as $key => $value ) {
    define( strtoupper( $key ), $value );
}
$connection = mysqli_connect( DB_HOST, DB_USER, DB_PASS, DB_NAME );

if ( !$connection ) {
    die( 'database failed');
}

$result = mysqli_query($connection,"SELECT * FROM users_details WHERE user_id = 1");
$rows = array();
while($row = mysqli_fetch_assoc($result)) {   
   $rows[] = $row;
}

print json_encode($rows);

HTML/AJAX请求:

<template>
<div class="page no-navbar home-user-page">
    <div class="page-content home-user-page-content">
        <div class="user-details-box">
            <div class="user-details">
                <div id="user-name"></div>
                <div id="user-title"></div>
            </div>

            <div class="user-chart-outer-box">
                <div id="user-point"></div>
                <div id="user-level"></div>
            </div>
        </div>
    </div>
</div>
</template>

<script>
return {
    on: {
        pageInit: function() {
            app.request.get('comps/get_user.php', function(response) {
                dataJSON = JSON.parse( response );
                let user_name = dataJSON[0].user_name;
                let user_title = dataJSON[0].user_title;
                let user_points = dataJSON[0].user_points;

                let level = Math.ceil( user_points / 200 );

                $( '#user-name' ).html( user_name );
                $( '#user-title' ).html( user_title );
                $( '#user-point' ).html( user_points );
                $( '#user-level' ).html( "Level " + level );
            });
        }
    }
}
</script>

提前致谢,

~ 内森.

Usually this Issue happen since you try to call php page from local server using apk which its installed on mobile.

这样我们就可以在这一行中说出您的问题 app.request.get('comps/get_user.php', function(response) { 并且您可以通过执行以下解决方案之一来解决此问题:

  1. 您可以在真实服务器中设置您的 php 页面并像 myStaginServer.com/get_user.php 一样调用该页面。
  2. 您可以将您的移动和虚拟服务器连接在同一个wifi中,并授予访问您的虚拟服务器的权限,您需要像195.155.0.4/get_user.php一样使用IP访问它。

注意:您可以通过连接设备直接从 APK 调试您的工作并启用开发设备,然后打开 chrome 和 select 远程设备,您将看到您的设备和跟踪来自移动设备的请求和任何错误。 (在调试 APK 版本中工作)。

祝你好运。