[英]Getting data from database on pageload jquery php
有人可以帮我吗
我想做的是使用HTML5,JQUERY,Json和PHP的电话应用程序。 我无法在其中使用PHP页面,因为它将与Phone Gap Cloud Compliler打包在一起。
我尝试使用许多我在互联网上研究过的脚本和建议,但似乎无法使其正常工作。
在页面上,我需要从数据库中检索数据,我希望使用6个文本框或div来填充页面,该页面或页面是使用对PHP处理页面的页面ajax请求来填充的,该页面获取所需数据并将其形成Json字符串,以下脚本将显示我现在的位置。
PHP页面:-仅从数据库和我已经成功完成的研究中获取数据起,它就可以成功地将其切成Json格式
PHP脚本**************************************************
<?php
include_once 'db_connect.php';
header("Content-Type: application/json"); //this will tell the browser to send a json object back to client not text/html (as default)
session_start();
$return_arr = array();
$sql = "SELECT * FROM `autumnTerm`"; //query
$result = mysqli_query($mysqli, $sql);
while($row = mysqli_fetch_array($result)) {
$row['term1start'] = date('d-m-y', strtotime($row['term1start']));
$row['term1finish'] = date('d-m-y', strtotime($row['term1finish']));
$row['term2start'] = date('d-m-y', strtotime($row['term2start']));
$row['term2finish'] = date('d-m-y', strtotime($row['term2finish']));
$row_array['term1start'] = $row['term1start'];
$row_array['term1finish'] = $row['term1finish'];
$row_array['term2start'] = $row['term2start'];
$row_array['term2finish'] = $row['term2finish'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
?>
这将返回以下json:-
[{ “term1start”: “15年1月4日”, “term1finish”: “15年2月4日”, “term2start”: “15年3月4日”, “term2finish”: “15年4月4日”} ]
我认为这是正确的格式。
jQuery的:-
<script>
我认为我认为文档准备好应该在页面加载时运行jQuery脚本是正确的
$(document).ready(function() {
与变量关联的处理页面地址
var url = "http://www.newberylodge.co.uk/webapp/includes/retrieveAutumn.inc.php";
定义请求元素的ajax请求
$.ajax({
type: "POST",
cache: false,
url: url,
dataType: "json",
success: function(data) {
$('#termoneError').text('The page has been successfully loaded');
},
error: function() {
$('#termoneError').text('An error occurred');
}
});//ajax request
});//ready function
</script>
如果有人愿意帮助我解决这个问题,我将非常感激,我已经尝试解决这个问题已有一个多星期了。
我还没有发布html,试图不用代码淹没问题,但是如果需要的话,我会根据要求提出
尝试这个:
$.ajax({
type: "GET",
cache: false,
url: url,
dataType: "json",
success: function() {
console.log()
$('#termoneError').text('The page has been successfully loaded');
},
error: function() {
$('#termoneError').text('An error occurred');
}
});//ajax request
});//ready function
</script>
并尝试查看控制台是否有任何错误?
您应该尝试将错误跨域请求阻止以放置正确的标头
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET,POST,OPTIONS');
header('Access-Control-Allow-Credentials: true');
其余的代码还可以
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.