Пытаюсь исполнить AJAX запрос из CEF браузера. Проблема в том, что скрипт не дожидается, пока придет ответ от AJAX и возвращает NULL. Пробовал работать с событиями в JS, но безуспешно. При исполнении простого скрипта, типа:
function test(text){
return text;
}
var m = test('test');
возвратит в C# значение переменной m, однако в моем скрипте, скрипт банально не дожидается возврата значения при success AJAX response.
private static async Task MainAsync()
{
CefSharpWrapper wrapper = new CefSharpWrapper();
wrapper.InitializeBrowser();
string script = @"
function b(key) {
$.ajax({
type: 'POST',
url: 'test.ru/post.php',
dataType: 'json',
async: false,
//json object to sent to the authentication url
data: 'ajax='+key,
success: function(response) { // on success..
return 'x'; //тут может быть return response
}
});
}
m=b(); //в этой переменной по итогу null, вместо нужного мне значения 'x'.
";
string urls = await wrapper.GetResultAfterPageLoad("http://test.ru", async () =>
await wrapper.EvaluateJavascript<string>(script));
MessageBox.Show(urls);
wrapper.ShutdownBrowser();
}
Пробовал отлаживать этот скрипт через браузер (Chrome+TamperMonkey), однако так же никакого положительного результата это мне не принесло.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости