Hyperledger Composer Rest Server Query from WebApp



我正在使用HTML和JavaScript开发一个前端应用程序,用于与本地部署的Hyperledger Composer Rest Server进行交互。我已经能够使用 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>  

但它会产生以下错误。 它在浏览器上生成此对话框

控制台日志上没有任何内容,它是空的。

编辑

这是业务模型文件

namespace org.acme.chequebook
asset Cheque identified by chequeNumber {
o String chequeNumber
}

这是查询.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
}

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

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

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

最新更新