JS+Python(ajax+json)例子

提供基於js與python利用ajax傳輸json數據的部分示例:


在static文件js目錄下:

    jquery.js

    st_goods.js


HTML頁面:

<!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>
<body>
    <div id="goods_statistics">商品統計</div>
    <!-- 爲ECharts準備一個具備大小(寬高)的Dom -->
    <div id="main" style="height:400px"></div>
    <!-- ECharts單文件引入 -->
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
    <script src="{% static 'js/jquery.js' %}"></script>
    <script src="{% static 'js/st_goods.js' %}"></script>    
</script>
</body>
</html>


JS頁面

//商品統計
$("#goods_statistics").click(function(){
    $.ajax({
        type: 'get',
        url: base_url + '/statistics/goods_st',
        data : {},
        success: function(e){
        result = JSON.parse(e);
        goods_st_sort(result.goods_st);
        }
    })
});
//商品名
var g_name = [];
//關注
var marked = [];
//收藏
var collected = [];
//購買
var purchased = [];
//瀏覽
var browse = [];
function goods_st_sort(goods_st){
    var arr = new Array();
    for(var i = 0 ; i < goods_st.length ; i++){
        arr = goods_st[i].toString().split(',');
        g_name.push(arr[0]);
        //console.log(name[i]);
        marked.push(arr[1]);
        collected.push(arr[2]);
        purchased.push(arr[3]);
        browse.push(arr[4]);    
        }
    draw();
    //console.log(name.length);
}


Python代碼

#用戶行爲分析圖
def goods_st_pic(request):
   return render(request,website.goods_st_pic,None)

#用戶行爲數據
def goods_st(request):
   #連接數據庫
   conn = MySQLdb.connect(host='120.26.38.125',user='root', passwd='passw0rd',db='jkbrother3',charset='utf8')
   sql = "select distinct(g.name), \
                 g.marked_count, \
                 g.collected_count,\
                 g.purchased_count,\
                 (select sum(count) from adminer_access_record\
                  where mold ='0' and action_id =g.id) browse_count \
          from adminer_goods g, adminer_access_record ar \
          where g.id=ar.action_id"
   cur = conn.cursor()
   #執行sql
   cur.execute(sql)
   #列出數據
   records = cur.fetchall()
   result = []
   for row in records:
       temp = (row[0],row[1],row[2],row[3],row[4])
       result.append(temp)
   conf = {'goods_st':result}        
   #關閉連接
   cur.close()
   conn.close()
   return HttpResponse(json.dumps(conf))
   
注意帶參數傳值,字典:
var tdata = {"time":"2015-05-17"};

//商品統計
$("#traffic_statistics").click(function(){
    $.ajax({
        type: 'post',
        url: base_url + '/statistics/traffic_st',
	data : tdata,
	success: function(e){
    	    result = JSON.parse(e);
	    print(result.traffic_st);
        }
    })
});

#網站流量統計
def traffic_st(request):
   time = request.POST["time"]
   #連接數據庫


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章