【问题标题】:Framework7 don't show any data from databaseFramework7 不显示数据库中的任何数据
【发布时间】:2019-10-31 11:44:58
【问题描述】:

我对 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>

提前致谢,

~ 内森。

【问题讨论】:

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


    【解决方案1】:

    通常发生此问题是因为您尝试从本地调用 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 版本中工作)。

    祝你好运。

    【讨论】:

    • 谢谢你,阿内斯。我已经通过将 PHP 文件移动到真实服务器解决了这个问题,但忘记在这里分享。我不知道我们可以通过连接手机来调试APK,非常感谢这个有用的答案!最好的,〜内森。
    • 欢迎@NathanHarold,很高兴看到它的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多