使用Ajax从数据库/模型加载数据
Load data from database/model with Ajax
我正在创建一个谷歌地图应用程序。我需要用Ajax从数据库中加载位置数据,这样我就可以每x秒显示一次这些数据。我使用的是CodeIgniter/PHP。这就是我得到的:
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
httpCall();
}
function httpCall($http) {
$http({
method: 'GET',
url: '<?php echo site_url('User/marks') ?>',
data: data,
dataType: "json"
})
.success(function (data) {
for (var i = 0, len = markers.length; i < len; ++i) {
var myLatLng = {lat: markers[i].lat, lng: markers[i].lng};
var marker = new google.maps.Marker({
position: {
lat: parseFloat(markers[i].lat),
lng: parseFloat(markers[i].lng)
},
map: map
});
}
})
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
async defer></script>
</body>
</html>
用户/标记功能为:
function marks() {
echo json_encode($this->user_model->get_marks());
}
user_model get marks函数为:
function get_marks() {
$sql = "select lat,lng
from tbl_locations";
$query = $this->db->query($sql);
$result = $query->result();
return $result;
}
我的错误是:
ReferenceError: data is not defined
显然我传递数据不正确,但正确的方式是什么?
将json结果存储在数组中
function marks() {
echo json_encode(array('data'=>$this->user_model->get_marks()));
}
并尝试在ajax结果中使用console.log(data)打印数据的结果。
这是因为您没有定义data变量,您正在通过data:data,
您必须在函数httpCall($http)中定义它,然后在ajax函数中传递它
相关文章:
- 如何将本地json数据加载到Extjs数据模型中
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- ThreeJS访问加载的obj模型中的对象
- Sails.js:我可以将一些服务/模型打包为npm并在Sails.jss应用程序中加载npm吗
- 如何在three.js中加载指定文件内容而非路径的三维模型
- 如何加载一次模型并将其存储到变量中
- 加载 .dae 模型时不显示纹理
- Webgl 加载 json 模型问题
- 延迟 AngularJS 路由更改,直到加载模型以防止闪烁
- 如何在打开模型时动态加载控制器文件
- 加载模型与三个.js
- 三.js:如何从Web-worker加载动画.json模型
- 如何在角度 2 中向动态加载的子组件提供父组件的模型
- EmberJS:如何在同一条路径上加载多个模型
- 挖空映射:加载数据后,父模型中的计算可观察量不会更新
- AngularJS-关闭tile并从ngRepeat指令AngularJS中的模型加载新视图
- 在Ember.js中渲染应用程序之前,正在等待模型加载
- 使用Ajax从数据库/模型加载数据
- 当我把模型加载到three.js中时,我怎样才能提高性能呢?
- Kendo UI下拉菜单从模型加载数据