簡體   English   中英

在我的odoo控制器中接收JSON數據

[英]reciving JSON data in my odoo controller

我使用Ext.Ajax.request將數據從extJS文件發送到我的odoo控制器,如下所示:

Ext.Ajax.request({
    url : '/serviceAP/fun',
    headers :{
         'Content-Type' : 'application/json'
    },
    method : 'POST',
    jsonData : {"params":
          {"cat" : "cat4",
           "date" : "02/11/2015",
           "notes" : "this notes 4"}
         }
 })

控制器是這樣的:

@ http.route('/ serviceAP / fun',type =“ json”,auth ='public',網站= True)

def func_test(self,**args):
    http.request.env['sap.orders'].create({"cat": args['cat'], "order_date": args['date'],
                                          "notes": args['notes']})

    return None

它工作正常,沒有任何問題,但是現在我想添加許多參數(cat5,cat6,...,catn),所以我需要使用一個JS數組,我不知道如何處理它,我嘗試了很多事情,但是沒有結果,因為此方法僅對一個json元組是正確的,我想知道如何在兩側odoo中對其進行處理(odoo controller / js return)

我發現它使它,我們應該創建這樣的字典的字典:

val = {}
val[0]={
 "cat": "cat4",
 "date": "02/11/2015",
 "notes": "this notes 4"
};
val[1]={
  "cat": "cat5",
  "date": "02/11/2015",
  "notes": "this notes 5"
};

在我們應該使用params鍵將其插入jsonData之后

jsonData : {"params":val}

我們直接在控制器中使用它:

i=0
while i < len(args):
   http.request.env['sap.orders'].create({"cat": args[str(i)]['cat'],  "order_date": args[str(i)]['date'],"notes": args[str(i)]['notes']})
   i = i+1

我希望它能對您有所幫助,謝謝:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM