CefSharp 中获取 XMLHttpRequest 返回值
时间: 2023-12-05 13:31:12 浏览: 154
JQuery异步获取返回值中文乱码的解决方法
在 CefSharp 中获取 XMLHttpRequest 的返回值可以通过以下步骤实现:
1. 在 CefSharp 中执行 JavaScript 代码,发送 XMLHttpRequest 请求。
```csharp
browser.EvaluateScriptAsync("var xhr = new XMLHttpRequest();" +
"xhr.open('GET', 'http://example.com', true);" +
"xhr.onreadystatechange = function() {" +
" if (xhr.readyState === 4) {" +
" window.xhrResponse = xhr.responseText;" +
" }" +
"};" +
"xhr.send();");
```
2. 在 JavaScript 中设置一个全局变量 `window.xhrResponse` 存储 XMLHttpRequest 的返回值。
3. 在 CefSharp 中使用 `EvaluateScriptAsync` 方法获取该全局变量的值。
```csharp
var task = browser.EvaluateScriptAsync("window.xhrResponse");
task.ContinueWith(t =>
{
if (!t.IsFaulted)
{
var response = t.Result;
if (response.Success && response.Result != null)
{
var xhrResponse = response.Result.ToString();
// 处理 XMLHttpRequest 的返回值
}
}
});
```
阅读全文