WebApp的Hyperledger Composer Rest Server查询

时间:2018-06-22 07:24:42

标签: api hyperledger-composer

我正在开发使用html和javascript的前端应用程序,以与本地部署的hyperledger composer rest服务器进行交互。我已经能够使用Get方法列出所有已创建的资产。但是现在我正在尝试对特定资产使用搜索查询。而且我已经创建了一个用于测试该查询的单独文件。

这是到目前为止的代码。

<html>
<head>
    <script src="jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#btnGetCheque').click(function () {
                var resultElement = $('#resultDiv');
                resultElement.html('');

                var requestData = $('#txtNumber').val() ;
                $.ajax({
                    url: 'http://localhost:3000/api/queries/ChequeByNumber',
                    method: 'get',
                    data: {Cheque_Number:requestData},
                    dataType: 'json',
                    success: function (response) {
                        if (response.message != null) {
                            resultElement.html(response.message);
                        }
                        else {
                            resultElement.html('Cheque: ' + response.message);
                        }
                    },
                    error: function (err) {
                        alert(err);
                    }
                });
            });
        });
    </script>
</head>
<body style="font-family:Arial">
    <table>
        <tr>
            <td>Enter Number</td>
            <td><input type="text" id="txtNumber" /></td>
        </tr>

    </table>
    <input type="button" id="btnGetCheque" value="Get Cheque Data">
    <br /><br />
    <div id="resultDiv">
    </div>
</body>
</html>  

但是会产生以下错误。 It produces this dialog box on browser

控制台日志上没有任何内容,为空。

编辑

这是商业模型文件

namespace org.acme.chequebook

asset Cheque identified by chequeNumber {

o String chequeNumber

}

这是query.qy文件

 query ChequeByNumber {
   description: "Returns a cheque in the registry"
   statement:  
      SELECT  org.acme.chequebook.Cheque
      WHERE   (chequeNumber == _$Cheque_Number)
  } 
query AllCheques {
   description: "Returns all cheques in the registry"
   statement:  
      SELECT  org.acme.chequebook.Cheque
 }

如果我从rest api搜索特定支票,这就是api网址

http://localhost:3000/api/queries/ChequeByNumber?Cheque_Number=12345

1 个答案:

答案 0 :(得分:0)

它与Cheque_Number一起使用,用户通过更改数据类型然后将其更改回json进行了测试,现在可以正常工作了。