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) {
并且您可以通过执行以下解决方案之一来解决此问题:
- 您可以在真实服务器中设置您的 php 页面并像
myStaginServer.com/get_user.php
一样调用该页面。
- 您可以将您的移动和虚拟服务器连接在同一个wifi中,并授予访问您的虚拟服务器的权限,您需要像
195.155.0.4/get_user.php
一样使用IP访问它。
注意:您可以通过连接设备直接从 APK 调试您的工作并启用开发设备,然后打开 chrome 和 select 远程设备,您将看到您的设备和跟踪来自移动设备的请求和任何错误。 (在调试 APK 版本中工作)。
祝你好运。
我是 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) {
并且您可以通过执行以下解决方案之一来解决此问题:
- 您可以在真实服务器中设置您的 php 页面并像
myStaginServer.com/get_user.php
一样调用该页面。 - 您可以将您的移动和虚拟服务器连接在同一个wifi中,并授予访问您的虚拟服务器的权限,您需要像
195.155.0.4/get_user.php
一样使用IP访问它。
注意:您可以通过连接设备直接从 APK 调试您的工作并启用开发设备,然后打开 chrome 和 select 远程设备,您将看到您的设备和跟踪来自移动设备的请求和任何错误。 (在调试 APK 版本中工作)。
祝你好运。