Tengo una situación en la que debo cifrar datos en vuelo desde una aplicación basada en JavaScript (Chrome Extension popup.html) a una API alojada en un sitio web de .NET MVC (C#).
Puedo ejecutar la solicitud como GET, pero los requisitos del proyecto hacen que sea necesario cifrar los parámetros que envío. Por ejemplo, si estaba buscando a todas las personas llamadas 'John', necesito cifrar 'John' en vuelo.
Mi aplicación de JavaScript usa jsencrypt y una clave RSA (pública) proporcionada por el sitio web en otras API que funcionan bastante bien para devolver recuentos.
Si mi versión GET del enlace se ve así:
<span class="person" id="personList">Person: <a href="' + url + 'Persons/Search?find=' + search + '" target="_blank">'+ query +'</a></span>
En el extremo del sitio web de .NET, esta solicitud se procesa en una vista que genera una tabla mediante una llamada a la base de datos. Como puede ver en mi enlace, los resultados se completan en una nueva pestaña en el navegador.
¿Cómo recomendaría cambiarlo para llamar a un método POST y obtener el mismo resultado que un GET?
EDITAR Traté de emplear una función AJAX para hacer el POST pero no le gusta el elemento de datos:
event.preventDefault(); $.ajax({ url: repurl + 'Persons/Search', timeout:30000, type: "POST", data: {body: encryptedmsg}, success : function(msg) { if (msg.ws_resultat.result_ok == true) { alert('ok'); } else { alert('some thing went wrong, plz try again'); } } }); });```