Я разрабатываю настольное приложение, которое может взаимодействовать с браузером.Я хочу отправить параметр из браузера в приложение для настольного компьютера, чтобы выполнить какой-то процесс, а затем получить возвращаемое значение как значение
В приложении я использую Nancy
для получения данных POST из браузера.Затем я передаю данные в SignHashViewModel
в качестве параметра, чтобы выполнить какой-то процесс, но не могу получить значение из SignHashViewModel
.
Я пытаюсь узнать async
и await
, чтобы увидетьесли это может решить проблему, но я не знаю, как применить это к моему коду.
Приведенный ниже код Javascript отправляет строковый хэш на сервер Nancy
и возвращает результат:
Signhash.php
<?php
if (isset($_GET['hashStr']))
{
$hashStr = $_GET['hashStr']; // get param from URL
}
?>
<script type="text/javascript">
$(document).ready(function() {
var hash = JSON.stringify("<?php echo $hashStr ?>");
$.post("http://localhost:50011/MyProject/signHash", {hash}, function(data) //this line will post hash to nancy server and get the data as result
{
var result = JSON.parse(data);
console.log("ErrCode : " + result.ErrCode );
console.log("ErrMsg : " + result.ErrMsg );
console.log("CertData : " + result.CertData );
});
});
</script>
вполучить данные POST из JavaScript, который я использовал этот класс.
ServerModule.cs
Post ("/signHash", (args) =>
{
string result = null;
List<string> dataItem= new List<string>();
ActivateItems.OpenItem(new SignHashViewModel(dataItem)); //This line activate the screen with param
return result; // Here I dont know how to get return value from SignHashViewModel
});
Этот класс будет подписывать хэш
SignHashViewModel.cs
public SignHashViewModel(List<string> dataItem)
{
DataItem = dataItem; // Set as Property
}
public PDFInfo Sign() //Run this method when button is clicked
{
PDFInfo pi = new PDFInfo();
SignHashToken jsonData = new SignHashToken();
pi = jsonData.SignHash(DataItem , userPin); //
return result;
}
Я ожидал, что смогу получить результат SignHashViewModel
и перейти в браузер.Надеюсь, что кто-то может помочь мне в этом или предложит какое-то другое решение, было бы здорово, спасибо.