2015-02-11 70 views
1

我试图将SQL查询应用到胡子模板。我正在查询laravel数据库中的用户表。到目前为止,我有它返回名称:'约翰'姓氏'史密斯'小胡子模板使用Ajax mysql请求输出查看

我api.php页面越来越是查询数据库并返回数据为json。这里没问题。

<?php 

    $host = "localhost"; 
    $user = "root"; 
    $pass = "root"; 

    $databaseName = "laravel"; 
    $tableName = "users"; 

    include 'DB.php'; 
    $con = mysql_connect($host,$user,$pass); 
    $dbs = mysql_select_db($databaseName, $con); 

    $result = mysql_query("SELECT * FROM $tableName"); 
    //fetch result    
    $array = mysql_fetch_row($result);       

    echo json_encode($array); 

?> 

然后我有一个client.html页面,我试图创建模板。是否因为我没有任何结构只返回纯json数据?有没有办法指定我想通过查询返回的数据。我目前正在查询所有数据并尝试对其进行模板化。

<html> 
    <head> 
    <script language="javascript" type="text/javascript" src="jquery.js"></script> 
    </head> 
    <body> 

    <h2> Client example </h2> 
    <h3>Output: </h3> 

<script id="projectstpl" type="text/template"> 
    <div id="output"> 
    {{#projects}} 
    <div class="project"> 
     <h3>{{name}}</h3> 
     <h4>{{lastname}}</h4> 
    </div> 
    {{/projects}} 
    </div> 
</script> 

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.cycle/2.9999.8/jquery.cycle.all.min.js" type="text/javascript"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/mustache.js/0.7.0/mustache.min.js" type="text/javascript"></script> 

<script id="source" type="text/javascript"> 

    $(function() { 
    $.ajax({          
     url: 'api.php',     //the script to call to get data   
     data: "",      //you can insert url argumnets here to pass to api.php 
             //for example "id=5&parent=6" 
     dataType: 'json',    //data format  
     success: function(data) {   //on recieve of reply 

     var template = $('#projectstpl').html(); 
     var html = Mustache.to_html(template, data); 
     $('#output').html(html); 
     } 
    }); 
    }); 

    </script> 
    </body> 
</html> 
+0

JSON的外观如何? – Shikiryu 2015-02-11 15:22:19

+0

@Shikiryu [“1”,“John”,“Smith”] – user2003341 2015-02-11 15:26:13

回答

0

我是mustache.js的专家。但是,根据它的演示,https://mustache.github.io/#demo

看来你的JSON不应该简单地是[“1”,“John”,“Smith”],但是像这样[“projects”:[{“name”: “约翰”,“姓氏”:“史密斯”}]]。我相信你可以从你的HTML中删除{{#projects}},而不是把JSON简单地当作[“name”:“John”,“lastname”:“Smith”]。