【问题标题】:How to call the json data from web controller in Odoo如何从 Odoo 中的 Web 控制器调用 json 数据
【发布时间】:2021-02-10 06:09:28
【问题描述】:

我试图从控制器调用该方法,但没有成功。我总是得到错误 createdb() 有 2 个参数。知道如何获取 db_name 的值吗?请给我一些关于如何做到这一点的例子。非常感谢您的帮助。

这就是我所做的:

             <div class="form-group form-field o_website_form_required_custom">
               <label class="col-md-3 col-sm-4 control-label" 
                  for="partner_name">Company Name</label>
                    <div class="col-md-7 col-sm-8">
                        <input type="text"
                            class="form-control o_website_form_input"
                            name="partner_name" required=""
                            t-att-value="request.params.get('partner_name', '')" />
                    </div>
            </div>
    @http.route('/cystin/createdb', type='json', auth="public", methods=["POST"], website=True)
    def createdb(self, db_name):
        
        session = self._authenticate()
        if not session:
            return json.dumps(False)

        # create a new database
        headers = {'Content-Type': 'application/json'}
        
        create_db_url = "http://localhost:8090/saas_api/create_db"
        data = {"jsonrpc": 2.0, "params": { "name": db_name } } //how to get this data?

        _logger.debug("Creating database...")
        r = session.post(url=create_db_url, data=json.dumps(data), headers=headers)

        if r.ok:
            return json.dumps(True)
        else:
            return json.dumps(False)
    var session = require('web.session');
   

    $(function(){
        $("#trybutton").click(function()
        {
           var db_name = $('input').attr('name', 'partner_name').val();
          session.rpc('/cystin/createdb',
          {
            db_name: db_name,
          }).then(function() 
          {
            $("div.spanner").addClass("show");
            $("div.overlay").addClass("show")
          });
        });
    });

【问题讨论】:

    标签: jquery controller odoo rpc


    【解决方案1】:

    我已经解决了。 从 xml 获取正确属性时感到困惑。

    var db_name = $("input[name='partner_name']").val();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      相关资源
      最近更新 更多