将 HTML5 PhoneGap App 连接到在线数据库

Posted

技术标签:

【中文标题】将 HTML5 PhoneGap App 连接到在线数据库【英文标题】:Connect HTML5 PhoneGap App to an online database 【发布时间】:2015-02-15 05:04:04 【问题描述】:

我希望制作一个 html 5 应用程序,该应用程序将在苹果和安卓商店中提供。 (所以它需要是跨平台的,我使用的是Phonegap)

我的问题是应用程序上显示的信息将通过一些在线数据库定期更新,这些数据库将由我自己而不是用户在线编辑。连接到此数据库的最佳做法是什么以及哪种数据库最适合(注意该信息不是私人信息,可以公开使用,该信息用于填充应用程序上的列表和内容)

我一直在研究 XML 然后 JSON 寻找“数据库”和插入内容的把手,我已经走了一点..

将其视为必须使用 js 的 HTML5 应用程序。该应用程序本身很简单,它只是分类列表(categorygenrelistitem),然后是每个项目的title:img:description

任何帮助、代码或见解都会很棒。感谢您的宝贵时间!

【问题讨论】:

> 连接到此数据库的最佳实践... API。您不能(或不应该)通过 phonegap 直接访问在线数据库,创建一个 api 来执行您需要执行的任何操作并执行请求以对数据库执行某些操作,例如检索、更新、删除数据等。我不确定您是否要求使用什么存储,但最简单的解决方案取决于服务器平台。 php 适用于 mysql,asp.net 适用于 T-SQL (MS-SQL),NodeJS 和 MongoDB,Ruby on Rails 和 Postgres 等。 【参考方案1】:

您可以在服务器端使用您选择的任何数据库。假设您的数据库在mysql 上,那么您可以编写一些 php 脚本来检索数据。接下来,这些 php 脚本应根据您的选择返回某种 JSON 或 XML 响应。最后,您可以使用 ajax 调用这些 php 脚本并在您的应用程序中获取这些 JSON / XML 响应并提取它们。

现在有很多很多方法。你应该使用你觉得舒服的地方。如此多的数据库选项如此多的脚本语言选项。

搜索->分析->尝试->使用

熟悉AJAX 对服务器的调用。

你会从这个link得到一些想法

一个例子:

PHP 脚本:

<?php
include("dbconfig.inc.php");
header("Content-type: text/xml");

echo "<?xml version=\"1.0\" ?>\n";
echo "<Loadinglist>\n";


    $select="Select * FROM tb_table";
    $dbh->query("SET NAMES utf8;");
    $dbh->query("SET CHARACTER_SET utf8;");


        foreach($dbh->query($select) as $row)
        
            echo "<bangla>\n";

            $id=$row['id'];
            echo "\t<id>"."<![CDATA[".$id."]]>"."</id>\n";


            $category=$row['category'];
            echo "\t<category>"."<![CDATA[".$category."]]>"."</category>\n";


        



echo "</Loadinglist>";
?>

示例 ajax 调用

jQuery.ajax(
                                  url: 'http://www.examplecom/myscript.php',  //load data 
                                  global: false,
                                  type: "POST",
                                  dataType: "xml",
                                  data: data,
                                  async: true,
                                  timeout: 40000,
                                  success: loading_complete_list,
                                  error: errorfunc
                            );

搜索、学习、尝试。

【讨论】:

感谢您诚实而乐于助人的回答! XML 可以处理大量信息吗? @AtanuCSE XML 响应?是的,它可以。虽然如果你用它一次加载大量数据,它可能会变慢。

以上是关于将 HTML5 PhoneGap App 连接到在线数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何将 PhoneGap 应用程序连接到互联网

适用于 Android 的 phonegap 中的 WebSocket HTML5

如何将phonegap应用程序连接到广播地址上的服务器

使用 PhoneGap、AJAX 和 JQuery Mobile 连接到 MySQL 数据库

phonegap,连接到服务器不成功

html5 websocket连接到python