在页面加载jquery php从数据库获取数据

时间:2015-04-06 13:24:49

标签: javascript php jquery ajax json

任何人都可以帮助我

我想做的是使用HTML5,JQUERY,Json和PHP的手机应用程序。我不能在这里使用PHP页面,因为我将使用Phone Gap Cloud Compliler打包它。

我尝试过使用我在互联网上研究过的许多脚本和建议,但似乎无法让它发挥作用。

在页面上,我需要从数据库中检索数据,我希望使用页面ajax请求填充6个文本框或div,以获取所需数据并将其形成Json字符串的PHP处理页面,以下脚本将显示我目前的位置。

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: -

[{&#34; term1start&#34;:&#34; 15年1月4日&#34;&#34; term1finish&#34;:&#34; 15年2月4日&#34 ;,&#34; term2start&#34;:&#34; 15年3月4日&#34;&#34; term2finish&#34;:&#34; 15年4月4日&#34;}]

我相信它是正确的格式。

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试图不用代码淹没问题,但如果需要我将根据要求提出

2 个答案:

答案 0 :(得分:0)

试试这个:

$.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>

并尝试查看控制台是否有任何错误?

答案 1 :(得分:0)

您应该尝试将错误的跨源请求阻止以放置正确的标头

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');

其余代码没问题