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

时间:2019-06-17 20:55:12

标签: php json ajax mysqli html-framework-7

我刚接触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>

预先感谢

〜 内森。

1 个答案:

答案 0 :(得分:0)

  

通常由于您尝试从本地调用php页面而发生此问题   服务器使用安装在移动设备上的apk。

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

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

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

祝你好运。