Este es mi modelo de solicitud actual (usando AJAX XMLHTTP):
POST someURL/someURL/someURL HTTP/1.1 Host: xxx.yyy.com Connection: close Content-Length: 221 Origin: https://xxx.yyy.com X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 Content-type: text/xml;charset=UTF-8 Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.8 <zadata>SOMEXMLDATA</zadata>Solo estoy enviando datos XML sin nombre en el cuerpo de la solicitud AJAX XMLHTTP.
Quiero lograr lo mismo sin AJAX (usando FORMULARIO HTML o algún otro método), ya que estoy solicitando este recurso de otro dominio y necesito mostrar la respuesta directamente en la página web. (AJAX no funcionará debido a SOP)
Probé muchos enctype en <form> , pero no pude lograrlo. ¿Ayuda?
Actualización: intenté insertar una parte de XML dentro del atributo de name <input> y otra parte dentro del atributo de value <input> . Como esto:
Datos XML: <zadata><param data=someValue></param></zadata>
<input type="text" name ="<zadata><param data" value="someValue></param></zadata>"> La solicitud es así: %3Czadata%3E%3Cparam+data=someValue%3E%3C%2Fparam%3E%3C%2Fzadata%3E
Se insertó el símbolo = y el formato está bien en la solicitud, pero la URL del navegador codifica el contenido. ¿Alguna forma de evitar esta codificación?
Esto es imposible. Ese no es un formato compatible con los formularios.
pero la URL del navegador codifica el contenido. ¿Alguna forma de evitar esta codificación?
… sí. Conviértalo en una solicitud de varias partes en su lugar. En su lugar, se codificará en varias partes, lo que aún no es lo que desea.
No puede obtener el formato que está solicitando utilizando un formulario HTML simple.
El atributo enctype con valor text/plain en <form> funcionó bien. Así es como lo logré:
<form action="http://someURL.com" method="POST" enctype="text/plain"> <input type="text" name ="<zadata><param data" value="someValue></param></zadata>"> <input type="submit" value="Submit request"> </form>El modelo de solicitud ahora:
POST http://someurl.com/ HTTP/1.1 Host: someurl.com Content-Length: 47 Cache-Control: max-age=0 Origin: null Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 Content-Type: text/plain Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.8 Connection: close <zadata><param data=someValue></param></zadata>