Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数在特定行之后不执行_Javascript_Ethereum_Solidity_Truffle - Fatal编程技术网

Javascript函数在特定行之后不执行

Javascript函数在特定行之后不执行,javascript,ethereum,solidity,truffle,Javascript,Ethereum,Solidity,Truffle,我目前正在使用Truffle和testrpc为以太坊创建一个Dapp。在我们的注册页面上,我有一个按钮,可以让用户注册输入的所有信息。但是,单击按钮时,会调用app.js javascript文件中的register函数,但不会执行传递的var regi=register.deployed()行。我在网页的控制台中发现一个错误,如下所示。我已经尝试调试了几个小时,但没有成功 这是app.js文件。注册功能是接收输入的数据并将其发送到注册合同的功能 下面的代码是index.html文件。注册标记

我目前正在使用Truffle和testrpc为以太坊创建一个Dapp。在我们的注册页面上,我有一个按钮,可以让用户注册输入的所有信息。但是,单击按钮时,会调用app.js javascript文件中的register函数,但不会执行传递的
var regi=register.deployed()行。我在网页的控制台中发现一个错误,如下所示。我已经尝试调试了几个小时,但没有成功

这是app.js文件。注册功能是接收输入的数据并将其发送到注册合同的功能

下面的代码是index.html文件。
注册
标记是单击时调用app.js中register()的按钮

最后,最后一个是为用户设置帐户的合同注册代码

var账户;
var账户;
var余额;
记录的var;
功能设置状态(消息){
var status=document.getElementById(“状态”);
status.innerHTML=消息;
};
函数刷新平衡(){
var meta=MetaCoin.deployed();
调用(account,{from:account}).then(函数(值){
var balance_element=document.getElementById(“余额”);
balance_element.innerHTML=value.valueOf();
}).catch(函数(e){
控制台日志(e);
setStatus(“获取平衡时出错;请参阅日志”);
});
};
函数sendCoin(){
var meta=MetaCoin.deployed();
var amount=parseInt(document.getElementById(“amount”).value);
var receiver=document.getElementById(“接收方”).value;
setStatus(“正在启动交易…(请稍候)”;
sendCoin(receiver,amount,{from:account}){
setStatus(“交易完成!”);
刷新平衡();
}).catch(函数(e){
控制台日志(e);
setStatus(“发送硬币时出错;请参阅日志”);
});
getAccountBalance();
};
函数getAccountBalance(){
var meta=MetaCoin.deployed();
var balance=meta.getBalance(msg.sender);
}
函数寄存器(){
var昵称=document.getElementById(“userid”).value;
var email=document.getElementById(“email”).value;
var password=document.getElementById(“密码”).value;
var rePassword=document.getElementById(“重新输入密码”).value;
var addr=document.getElementById(“以太坊地址”).value;
记录=真;
var regi=Register.deployed();
web3.eth.defaultAccount=addr;
如果(密码==重新密码){
regi.setAccountInfo(昵称、电子邮件、密码、地址){
log(“使用适当的详细信息设置了帐户”);
}).catch(函数(e){
控制台日志(e);
});
警报(“祝贺您!您在Cogitaire注册了一个帐户!”);
}否则{
警报(“密码不匹配!”);
}
};
函数displayInfo(){
var display=Register.deployed();
var idCheck=document.getElementById(“idForCheck”).value;
如果(已记录){
console.log(“用户已登录:+已登录”);
display.get昵称.call(web3.eth.defaultAccount).then(函数(值){
document.getElementById('nickshow')。innerHTML=value;
}).catch(函数(e){
控制台日志(e);
});
display.getEmail.call(web3.eth.defaultAccount)。然后(函数(值){
document.getElementById('emailshow')。innerHTML=value;
}).catch(函数(e){
控制台日志(e);
});
}否则{
警报(“您未登录!请登录以查看您的用户信息或输入地址以查看其他人的用户信息”);
}
};
函数注销(){
var log=Register.deployed();
记录=假;
警报(“您现在已注销!”);
web3.eth.defaultAccount='0xDA9C209AFEE487D729866BC0D58223A62BFE383';
};
函数showLogin(){
registerSection.style.display='none';
loginSection.style.display='block';
};
函数showRegister(){
registerSection.style.display='block';
loginSection.style.display='nice';
};
window.onload=函数(){
var Web3=需要([Web3]);
//使用HTTP提供程序创建web3的实例。
//在mist web3中,它已经可用,所以在实例化之前先检查它是否可用
如果(web3的类型!==“未定义”){
var web3=新的web3(web3.currentProvider);
}否则{
//从Web3.providers设置所需的提供程序
var web3=new web3(new web3.providers.HttpProvider(“http://localhost:8080"));
}
//var web3=new web3(new web3.providers.HttpProvider(“http://localhost:8080"));
web3.eth.getAccounts(函数(err,accs){
if(err!=null){
警报(“获取您的帐户时出错。”);
返回;
}
如果(accs.length==0){
警报(“无法获取任何帐户!确保以太坊客户端配置正确。”);
返回;
}
getAddress.call().then(函数(值){
web3.eth.defaultAccount=值;
});
账户=账户;
账户=账户[0];
刷新平衡();
});
}

深思熟虑
切换导航
    contract Register { //address public userAddr; struct User { address userAddress; string nickname; string email; string password; bool isLoggedIn; } mapping(address => User) users; address public creator; //bool public isLoggedIn; function Register() { creator = msg.sender; } function setAccountInfo(string nickname, string email, string password, address addr) { users[addr].nickname = nickname; users[addr].email = email; users[addr].password = password; } function getNickname(address addr) returns (string) { return users[addr].nickname; } function getEmail(address addr) returns (string) { return users[addr].email; } function getAddress() constant returns (address) { return creator; } function setLoggedStatus(address addr, bool condition) { users[addr].isLoggedIn = condition; } function getLoggedStatus(address addr) constant returns (bool success) { return users[addr].isLoggedIn; } }