qt - QNetwork webassembly 的跨源错误
问题描述
我正在尝试在我的 c++ 代码中使用 QNetworkAccessManager 进行发布/获取调用,该代码使用 emscripten 暴露给 webassembly。
当暴露的函数在 Javascript 中编译和加载时,请求由于跨域请求而被阻塞。
我正在从包含 wasm、js 和 html 文件的文件夹中运行本地服务器。
[编辑]:在阅读了一些 CORS 之后,我尝试通过添加额外的标头参数来请求:
request.setRawHeader("Access-Control-Request-Origin", "*");
但这也没有用。
QNetworkRequest request(this->server);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
request.setRawHeader("Access-Control-Allow-Origin", "*"); request.setRawHeader("Access-Control-Allow-Methods", "POST");
// building the json and network request object
QByteArray byte_payload = QJsonDocument(payload).toJson();
QEventLoop loop;
QObject::connect(&manager, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit);
loop.exec();
std::cout << "Request completed" << std::endl;
QByteArray reponse = reply->readAll();
std::cout << reponse.toStdString() << std:: endl;
你能告诉我如何解决这个问题吗?
[已编辑]:我尝试使用 package.json 为 cros 启用节点服务器cors
。这使第一次OPTIONS
调用成功,但POST
发生的实际调用是使用不正确的有效负载发送的。
解决方案
推荐阅读
- javascript - Javascript自定义HTMLElement问题
- internationalization - 如何使用 Hugo 和 NetlifyCMS 管理国际化
- javascript - 从 XML 标记中获取文本时如何删除空格?
- python - 我在 ubuntu18.04 上执行了 Python 2,但没有导入“tkinter”
- webpack - webpack - 奇怪的控制台消息(提供输出,404 将回退,提供不是来自 webpack 的内容......等等)
- ios - UIImagePicker 在 Objective c 和 Swift 中给出错误的裁剪图像
- email - 带有气流的电子邮件
- php - Codeigniter facebook 身份验证问题
- compiler-construction - C 编译器如何提供对多个内存的访问?
- typescript - 类型保护过滤后从回调中访问类成员