Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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
C++ QWebEngine:在执行runJavaScript时处理get和post请求_C++_Qt - Fatal编程技术网

C++ QWebEngine:在执行runJavaScript时处理get和post请求

C++ QWebEngine:在执行runJavaScript时处理get和post请求,c++,qt,C++,Qt,我正在寻找在加载网站后通过运行java脚本代码来处理get和post请求的可能性。描述如下:可以通过QWebEnginePage::load加载url,该页面包含一些按钮,其中绑定了javescript事件。按钮用于从internet获取和发布请求。当get和post请求由该javascript事件执行时,我是否可以向我的类发送信号。如果QWebEngine不可能,那么Qt中还有哪些其他选项可以完成这项工作。我正在寻找一些在未来不会是绝对的选择,因为它是长期项目的一部分。 谢谢您可以在您的案例中

我正在寻找在加载网站后通过运行java脚本代码来处理get和post请求的可能性。描述如下:可以通过QWebEnginePage::load加载url,该页面包含一些按钮,其中绑定了javescript事件。按钮用于从internet获取和发布请求。当get和post请求由该javascript事件执行时,我是否可以向我的类发送信号。如果QWebEngine不可能,那么Qt中还有哪些其他选项可以完成这项工作。我正在寻找一些在未来不会是绝对的选择,因为它是长期项目的一部分。 谢谢

您可以在您的案例中使用它

CPP文件

QWebChannel* webChannel = new QWebChannel();
webChannel->registerObject("foo", this);
webview->page()->setWebChannel(webChannel);
在HTML文件中

<script type="text/javascript" src="qrc:/Map/qwebchannel.js"></script>
<script type="text/javascript">
    new QWebChannel(qt.webChannelTransport, function(channel) {
    // all published objects are available in channel.objects under
    // the identifier set in their attached WebChannel.id property
    var foo = channel.objects.foo;

    // access a property
    alert(foo.hello);

    // connect to a signal
    foo.someSignal.connect(function(message) {
       alert("Got signal: " + message);
    });

   // invoke a method, and receive the return value asynchronously
   foo.someMethod("bar", function(ret) {
       alert("Got return value: " + ret);
   });
});
</script>

新的QWebChannel(qt.WebChannel传输,功能(通道){
//所有发布的对象都可以在下的channel.objects中使用
//在其附加的WebChannel.id属性中设置的标识符
var foo=channel.objects.foo;
//访问一个属性
警报(foo.hello);
//连接到信号
foo.someSignal.connect(函数(消息){
警报(“收到信号:+消息”);
});
//调用一个方法,并异步接收返回值
foo.someMethod(“bar”),函数(ret){
警报(“获取返回值:”+ret);
});
});

你的意思是这样的?我不这么认为,例如,在提交表单中,有一些特殊的按钮,在填写表单时使用java脚本通过get方法检索特殊信息。我希望我的类在用java脚本执行这样的请求时得到通知。谢谢你,但是你能提供一些简单的例子或其他东西,让我了解如何执行它。