在我的 HTML
中,假设我有 2 个输入字段,值为 3 和 4:
<form onchange="reload()">
<h2>Input:</h2>
<input type="number" id="val1" name="val1" value="3">
<input type="number" id="val2" name="val2" value="4">
<br><br>
<h2>Output</h2>
<input type="text" id="out" name="out" value="untouched by C++"><br>
</form>
在我的 JavaScript 中
,我得到这两个值并将它们推送到一个数组中,如下所示:
Module = document.getElementById('module');
var msg = [];
msg.push(Number(document.getElementById('val1').value));
msg.push(Number(document.getElementById('val2').value));
然后我将它发送到我的 C++ 文件以处理消息
Module.postMessage(msg);
在我的 C++ 文件中[这里是我卡住的地方。]
我必须处理消息的代码如下
virtual void HandleMessage(const pp::Var& var_message) {
std::string message = var_message.AsString();
pp::Var var_reply = pp::Var(message);
PostMessage(var_reply);
}
问题是它处理一个字符串[如果我的msg是数组类型,它实际上会崩溃]。
我希望它期待和接受的是一个数组或一个对象。
基本上,是这样的:
virtual void HandleMessage(const pp::Var& var_message) {
pp::Var var_reply = var_message[0] + var_messgae[1]; // I expect this to be 3+4=7
PostMessage(var_reply);
}