在 QML 中使用 XMLHttpRequest 发送 POST 请求并发送 JSON 数据给服务器,可以按照以下步骤进行操作:
- 首先,在 QML 文件中导入
QtQuick.XmlHttpRequest
模块:
import QtQuick.XmlHttpRequest 2.0
- 创建一个 XMLHttpRequest 对象,并设置请求的 URL 和请求类型为 POST:
XmlHttpRequest {
id: xhr
method: "POST"
url: "http://example.com/api"
}
- 设置请求头,指定 Content-Type 为 application/json:
xhr.setRequestHeader("Content-Type", "application/json")
- 创建一个包含要发送的 JSON 数据的 JavaScript 对象,并将其转换为字符串形式:
var jsonData = {
name: "John",
age: 25,
// 其他字段...
}
var jsonString = JSON.stringify(jsonData)
- 发送请求,并将 JSON 数据作为请求主体发送给服务器:
xhr.send(jsonString)
完整示例代码如下所示:
import QtQuick.XmlHttpRequest 2.0
XmlHttpRequest {
id: xhr
method: "POST"
url: "http://example.com/api"
onReadyStateChange: {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
console.log(xhr.responseText)
} else {
console.error("Error:", xhr.statusText)
}
}
}
}
function sendJsonData() {
xhr.setRequestHeader("Content-Type", "application/json")
var jsonData = {
name: "John",
age: 25,
// 其他字段...
}
var jsonString = JSON.stringify(jsonData)
xhr.send(jsonString)
}
可以在适当的地方调用 sendJsonData()
函数来发送请求。请注意替换 URL 为你要发送请求的目标服务器地址。
内容由零声教学AI助手提供,问题来源于学员提问