【发布时间】:2019-09-18 13:15:22
【问题描述】:
我正在为我的学校项目构建一个货币转换器应用程序,目前我正在尝试将数据从数据库中获取到 .js 文件中。确切的目标是从数据库中获取数据并将其保存到 .js 文件中的数组中。
据我所知,没有办法将数据库中的数据直接存入 JavaScript 文件,因此我正在尝试使用 this thread 中指出的 JQuery 和 PHP 组合。
我有一个名为'currencies' 的数据库,它有六列:id, basecur1, basecur2, basecur3, basecur4, basecur5。
id 字段用于用户 id,basecur_ 字段用于存储用户的首选货币,并且只能包含三个字符的货币代码(如USD 或GBP)或为空。我需要结果看起来像 const array_name = ["EUR", "GBP", "USD"];
请注意,我正在使用 CodeIgniter PHP 框架作为后端。
在这个文件query.php 中,我试图从从数据库中获取的数据创建一个数组并回显它:
<?php
$current_user = $this->session->user_id;
$query = $this->db->get_where('currencies', array('id' => $current_user));
$row1 = $query->row();
$base_currencies = array($row1->basecur1, $row1->basecur2, $row1->basecur3, $row1->basecur4, $row1->basecur5);
$post_data = json_encode($base_currencies);
echo $post_data;
?>
不幸的是,我对 JavaScript 的理解并不深入,所以我真的不能说这段 JS 代码有什么问题,它取自上面提到的线程,但它并不适合我:
jQuery.extend({
getValues: function(url) {
var result = null;
$.ajax({
url: url,
type: 'get',
dataType: 'json',
async: false,
success: function(data) {
result = JSON.stringify(data);
}
});
return result;
}
});
var array_name = $.getValues("query.php");
任何帮助将不胜感激。
【问题讨论】:
-
您正在尝试将结果保存在
.js文件中?还是因为您的代码似乎显示相反的错误输入 -
我正在尝试将结果存储在
.js文件中的数组中。对不起,如果原描述不清楚,我会改变它 -
您将其保存为
.js文件的代码在哪里? (它应该保存为.json文件)。你确定你不想只提供一个json响应而不是保存(一个实际的物理文件)到磁盘吗?
标签: javascript jquery mysql codeigniter get