我正在建立一个学习网页。实际上做页面是主要目标,如果它运作良好,它只会是奖金,因为我很可能是唯一一个使用它的人。
据说我正在使用包含大量信息的Angular对象,例如:
学期 - 子类别 - 问题 - 作为对象的答案列表" true" /" false"多种选择的属性和答案本身等。
由于我将使用angular进行整个排序/过滤,我想知道我是否真的需要SQL,或者XML文件是否优越。
SQL保存是我的主要问题。 PHP似乎将数组编入一个字符串,其值为#34; array"。如果我使用json_encode它可以正确保存,但在GET上它会停止工作,因为我必须使用"重建整个数据结构。和'到处都是。
使用XML,它看起来很像仅仅是为了构建而不是构建。我发现了一些过时的教程,甚至没有一个有效的例子。
所以我想我的问题是: 我要么使用SQL,要么使用多个表。将我的对象拆分为多个具有可选值的列,同时还在重载时重建整个事物?
或者我是否使用XML,因为我只会使用数据库来获取整个事情?
这两种方法都经过了我的测试和工作。两者都需要进一步挖掘,阅读和尝试。我没有空余时间去做这两条路线。在这个特定的用例中哪一个更好?
答案 0 :(得分:2)
这是个人偏好,但我总是尽量避免使用XML。 JSON格式非常精简和简单,并且在Web应用程序中更容易使用。
事实上,我建议先从一些静态JSON文件开始,直到您完成为您的网站提供一些结构。您可以手动生成它们,使用一些生成器工具(如http://www.mockaroo.com/)或使用一些简单的javascript构建它们(JSON.stringify
是您的朋友)。然后,您可以使用$http
服务轻松地使用此数据:
$http.get('my-data.json')
.then(function(response) {
$scope.myData = response.data;
});
这实际上是我的团队在构建大型企业应用程序时采用的方法。当我们(或客户)对进展感到满意时,我们会模拟所有数据资源并将其替换为真实的数据。
答案 1 :(得分:1)
使用JSON-File就足够了。您可以将所有需要的对象存储在其中并轻松更改。使用以下代码,您可以在JavaScript中加载数据
function loadJSON(path, success, error) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
if (success)
success(JSONH.parse(xhr.responseText));
} else {
if (error)
error(xhr);
}
}
};
xhr.open("GET", path, true);
xhr.send();
}
使用
loadJSON('data.json',//relative path
function (data) {//success function
$scope.questions = question;
$scope.$apply();
},
function (xhr) {//error function
console.error(xhr);
}
);