繁体   English   中英

从 HTML 表单提交值到 Node-js

[英]Submit value from HTML form to Node-js

我想从 HTML 表单提交输入值到 Node-js。 Node-js 应该将该值作为参数分配给 Solidity 函数。 但是显示了错误: TypeError: Cannot read property 'oinput' of undefined 我该怎么办? 请帮助初学者。

HTML:

<!DOCTYPE html>
<html>
<head>
<title>Alireza</title>
<body>
<form id="FORM" name="FORM" method="POST" action="http://127.0.0.1:1408">
    <input id="Finput" name="oinput" value="Null" onclick="this.form.submit()"/>

</form>
<script>
document.forms[0].oinput.value=prompt("Type a thing: ","Here ...");
</script>
</body>
</html>

应用程序.js:

var express=require('express');
var app=express();
var fs=require('fs');
var http = require('http');
var bodyParser=require('body-parser');
var Web3=require('web3');
var web3=new Web3('ws://127.0.0.1:8545');

var YerevanJSON="E:/Alireza/build/contracts/Yerevan.json";
var YerevanJS=JSON.parse(fs.readFileSync(YerevanJSON));
var YerevanABI=YerevanJS.abi;

var Yerevan=new web3.eth.Contract(YerevanABI, "0x1E6B6524e7da86bafa5ac948b38dA68e6841f0c7");
    Yerevan.defaultAccount="0x152AfF6BBF98F2FF2EFAdA32E2ba85CC231cbA13";

app.post("/", function(q,r){

Yerevan.methods.eval(q.body.oinput).send({from:"0x33aa0ba26Dc247BA5d94545344c413949B746360"});
});

app.listen(1408, err=>{ console.log('ERROR')});

坚固性:

    pragma solidity ^0.5.12;

    contract Yerevan{
    string public city;
    function eval(string memory sense) public returns(string memory){
        city=sense;
        return city;
       }
    }

您已将 body-parser 包含到文件中,但尚未要求应用程序使用它。 添加以下行

 const bodyParser = require("body-parser");
 // for parsing application/json
 app.use(bodyParser.json());
 //for parsing application/xwww-form-urlencoded
 app.use(bodyParser.urlencoded({ extended: true }));

您正在使用 var,开始使用 const 和 let 代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM