2015-12-04 19 views
0

我使用AngularJS後從Django的服務器獲取JSON: 一切順利,但是當我得到的迴應的JSON是不是一個「純粹」的JSON:Django - 如何讀取angularJS的JSON?

的Django代碼:

def get_sim_list(): 
    t_sim = RD_sim_list.objects.all() 
    t_list_sim = {} 
    for sim in t_sim : 
    t_list_sim['sim_id'] = sim.sim_id 
    t_list_sim['sim_iccid'] = sim.sim_iccid 
    return JsonResponse(t_list_sim, safe=False) 

AngularJS代碼:

$http.post("./LoadJSON/", {mode:"1" ,submode:"1"}) 
        .then(function(response) 
         { 
         var json_data = response.data; 
         for(var i=0;i < json_data.length ;i++) 
          { 
          t_list.push({ 
           pk:json_data[i].sim_id, 
           sim_iccid:json_data[i].sim_iccid}); 
          } 
         }) 

此代碼的工作,但是當我retreive數據我得到這樣的結果:

Content-Type: application/json 

{sim_id: "1", sim_iccid: "123456"} 

Ofc我可以刪除「內容類型等」,但如何告訴服務器不打印它?

plus:如何解析「非純」JSON數據?

謝謝!

+0

這是一個HTTP標頭。它不是內容主體的一部分,對輸出沒有任何影響。 –

回答

0

嘗試的$http.post("./LoadJSON/", {"mode":"1" ,"submode":"1"}) 代替$http.post("./LoadJSON/", {mode:"1" ,submode:"1"})

+0

它不起作用......「 – Andrea

0

你爲什麼要推倒重來?如果你有一個自定義的類似json的文件格式,那麼你將不得不編寫自己的函數來解析數據。

試試這個解析標準JSON:

var str = '{"key": "value", "key2": "value2"}'; 
var jsonObj = JSON.parse(str); 
+0

我的問題是:爲什麼我的服務器打印」Content-Type:application/json「? – Andrea