{"id":7772,"date":"2022-07-27T06:44:44","date_gmt":"2022-07-27T06:44:44","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=7772"},"modified":"2022-07-27T06:44:44","modified_gmt":"2022-07-27T06:44:44","slug":"como-hacer-una-llamada-ajax-con-xmlhttprequest","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/","title":{"rendered":"Como hacer una llamada Ajax con XMLHttpRequest"},"content":{"rendered":"<p>Las llamadas Ajax ayudan mucho al programador a hacer sus aplicaciones mucho m\u00e1s usables y r\u00e1pidas ya que el usuario no tiene que recargar la p\u00e1gina cuando desea solicitar una petici\u00f3n al servidor.<\/p>\n<p>En este art\u00edculo vas a descubrir como hacer una llamada <strong>Ajax sin usar jQuery<\/strong>.<\/p>\n<p><strong>XMLHttpRequest<\/strong>\u00a0es un objeto nativo del navegador que permite hacer solicitudes HTTP desde\u00a0<strong>JavaScript<\/strong>.<\/p>\n<p>En el ejemplo en funcionamiento vas a ver un formulario simple que solo pide el nombre y apellido al usuario para enviar la informaci\u00f3n al servidor usando esta t\u00e9cnica.<\/p>\n<h2>Formulario simple<\/h2>\n<p>En el cuerpo de tu p\u00e1gina o dentro de la etiqueta &lt;body&gt; puedes agregar el formulario:<\/p>\n<div id=\"wpshdo_1\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_1\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_1\"><\/a><a id=\"wpshat_1\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_1\"  onClick=\"javascript:wpsh_toggleBlock(1)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_code(1)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_print(1)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_1\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"html4strict\" style=\"font-family:monospace;\"><span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/div.html\"><span class=\"kw2\">div<\/span><\/a> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;alert&quot;<\/span>&gt;&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/div.html\"><span class=\"kw2\">div<\/span><\/a>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/form.html\"><span class=\"kw2\">form<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;register&quot;<\/span> <span class=\"kw3\">method<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;post&quot;<\/span>&gt;<\/span>\n    <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text&quot;<\/span> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;name&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Jose&quot;<\/span>&gt;<\/span>\n    <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text&quot;<\/span> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;lastname&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Aguilar&quot;<\/span>&gt;<\/span>\n    <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/button.html\"><span class=\"kw2\">button<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;submit&quot;<\/span> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;submitRegister&quot;<\/span>&gt;<\/span>Enviar<span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/button.html\"><span class=\"kw2\">button<\/span><\/a>&gt;<\/span>\n<span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/form.html\"><span class=\"kw2\">form<\/span><\/a>&gt;<\/span><\/pre><\/div><\/div>\n<p>Es importante fijarse que el formulario tiene un nombre igual a \u00abregister\u00bb y que contiene 2 campos de tipo texto y un bot\u00f3n.<\/p>\n<p>Por encima del formulario tambi\u00e9n he colocado un contenedor para depositar la respuesta que retorne el servidor.<\/p>\n<h2>LLamada Ajax con <strong>XMLHttpRequest<\/strong><\/h2>\n<p>En el archivo .js que use tu proyecto puedes agregar lo siguiente:<\/p>\n<div id=\"wpshdo_2\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_2\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_2\"><\/a><a id=\"wpshat_2\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_2\"  onClick=\"javascript:wpsh_toggleBlock(2)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_code(2)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_print(2)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_2\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"javascript\" style=\"font-family:monospace;\"><span class=\"kw2\">const<\/span> malert <span class=\"sy0\">=<\/span> document.<span class=\"me1\">querySelector<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'.alert'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"kw2\">const<\/span> registrationButton <span class=\"sy0\">=<\/span> document.<span class=\"me1\">querySelector<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'button[name=&quot;submitRegister&quot;]'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&nbsp;\nregistrationButton.<span class=\"me1\">addEventListener<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'click'<\/span><span class=\"sy0\">,<\/span> <span class=\"kw2\">function<\/span><span class=\"br0\">&#40;<\/span>e<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n    e.<span class=\"me1\">preventDefault<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n    let params <span class=\"sy0\">=<\/span> <span class=\"kw2\">new<\/span> FormData<span class=\"br0\">&#40;<\/span>document.<span class=\"me1\">forms<\/span>.<span class=\"me1\">register<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n    let request <span class=\"sy0\">=<\/span> <span class=\"kw2\">new<\/span> XMLHttpRequest<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n    request.<span class=\"kw3\">open<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;POST&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;ajax.php&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n    request.<span class=\"me1\">send<\/span><span class=\"br0\">&#40;<\/span>params<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n    request.<span class=\"kw3\">onload<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw2\">function<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n        malert.<span class=\"me1\">style<\/span>.<span class=\"me1\">display<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">'none'<\/span><span class=\"sy0\">;<\/span>\n        malert.<span class=\"me1\">innerHTML<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">''<\/span><span class=\"sy0\">;<\/span>\n        malert.<span class=\"me1\">style<\/span>.<span class=\"me1\">display<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">'block'<\/span><span class=\"sy0\">;<\/span>\n        malert.<span class=\"me1\">innerHTML<\/span> <span class=\"sy0\">=<\/span> request.<span class=\"me1\">response<\/span><span class=\"sy0\">;<\/span>\n    <span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span> \n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>En primer lugar, creo 2 constantes que se usan en la llamada al evento en las que guardo:<\/p>\n<ul>\n<li>El contenedor que muestra el mensaje de confirmaci\u00f3n.<\/li>\n<li>El bot\u00f3n que permite enviar la informaci\u00f3n al servidor.<\/li>\n<\/ul>\n<p>Al bot\u00f3n del formulario le aplico la escucha del evento \u00abclick\u00bb.<\/p>\n<p>Cuando se haga clic en este bot\u00f3n ocurre lo siguiente:<\/p>\n<ul>\n<li>Con la funci\u00f3n e.<em>preventDefault()<\/em> anulo la acci\u00f3n predeterminada del evento.<\/li>\n<li>En la variable <em>params<\/em> guardo los par\u00e1metros del formulario usando el objeto FormData.<\/li>\n<li>En la variable request creo una nueva instancia del objeto XMLHttpRequest.<\/li>\n<li>Con <em>request.open()<\/em> inicializo la instancia usando el m\u00e9todo POST y el archivo ajax.php que debe estar en la misma raiz del proyecto.<\/li>\n<li>Con <em>request.send()<\/em> abro la conexi\u00f3n y env\u00edo la solicitud al servidor.<\/li>\n<li>Y, finalmente, con <em>request.onload()<\/em>, habilito el contenedor de confirmaci\u00f3n para agregar la respuesta que retorna el servidor.<\/li>\n<\/ul>\n<h2>Recogida de informaci\u00f3n en el servidor<\/h2>\n<p>En este simple ejemplo el archivo<em> ajax.php<\/em> es el que recoge la informaci\u00f3n del servidor.<\/p>\n<p>En este caso, tan solo realiza lo siguiente:<\/p>\n<div id=\"wpshdo_3\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_3\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_3\"><\/a><a id=\"wpshat_3\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_3\"  onClick=\"javascript:wpsh_toggleBlock(3)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_code(3)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_print(3)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_3\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$name<\/span> <span class=\"sy0\">=<\/span> <span class=\"re0\">$_POST<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'name'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">;<\/span>\n<span class=\"re0\">$lastname<\/span> <span class=\"sy0\">=<\/span> <span class=\"re0\">$_POST<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'lastname'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">;<\/span>\n&nbsp;\n<span class=\"re0\">$message<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'La petici\u00f3n se proces\u00f3 en el servidor.&lt;br\/&gt;'<\/span><span class=\"sy0\">;<\/span>\n<span class=\"re0\">$message<\/span> <span class=\"sy0\">.=<\/span> <span class=\"st_h\">'Nombre: '<\/span><span class=\"sy0\">.<\/span><span class=\"re0\">$name<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">'&lt;br\/&gt;'<\/span><span class=\"sy0\">;<\/span>\n<span class=\"re0\">$message<\/span> <span class=\"sy0\">.=<\/span> <span class=\"st_h\">'Apellido: '<\/span><span class=\"sy0\">.<\/span><span class=\"re0\">$lastname<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">'&lt;br\/&gt;'<\/span><span class=\"sy0\">;<\/span>\n&nbsp;\n<span class=\"kw1\">echo<\/span> <span class=\"re0\">$message<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Tan solo recibe los par\u00e1metros enviados desde el formulario mediante el m\u00e9todo POST y prepara un mensaje retornarlo de vuelta.<\/p>\n<p>En este archivo <strong>PHP<\/strong> se podr\u00eda hacer infinidad de cosas tales como registrar la informaci\u00f3n en una base de datos, en un fichero, enviarla por email, etc.<\/p>\n<p style=\"text-align: center;\"><a class=\"btn btn-secondary\" href=\"https:\/\/www.jose-aguilar.com\/scripts\/javascript\/xmlhttprequest-ajax\/\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fa fa-eye\"><\/i> Ver demo<\/a> <a class=\"btn btn-primary\" href=\"https:\/\/www.jose-aguilar.com\/scripts\/javascript\/xmlhttprequest-ajax\/xmlhttprequest-ajax.zip\"><i class=\"fa fa-download\"><\/i> Descargar<\/a><\/p>\n<h2>Conclusiones<\/h2>\n<p>Bastante sencillo, \u00bfno?<\/p>\n<p>Esta t\u00e9cnica es bastante antigua y, de hecho, deber\u00eda haberla escrito hace mucho tiempo.<\/p>\n<p>En cualquier caso, siempre pienso que nunca es tarde y que esto puede ayudar a muchos estudiantes que reci\u00e9n est\u00e1n practicando.<\/p>\n<p>La principal ventaja que tiene usar esta t\u00e9cnica es que evitas tener que usar una librer\u00eda externa como <strong>jQuery<\/strong> para hacer tus llamadas <strong>Ajax<\/strong>.<\/p>\n<p>Quiz\u00e1 usando <strong>jQuery<\/strong> se ve m\u00e1s claro el c\u00f3digo pero el resultado es el mismo.<\/p>\n<p>La ventaja de usar el objeto <strong>XMLHttpRequest<\/strong> es que te evitas tener que cargar toda una librer\u00eda <strong>jQuery<\/strong> en tu sitio y esto hace que tu proyecto sea m\u00e1s liviano.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.<\/p>\n","protected":false},"author":1,"featured_media":7773,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,14],"tags":[84,79],"class_list":["post-7772","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ajax","category-javascript","tag-formularios","tag-inputs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como hacer una llamada Ajax con XMLHttpRequest - Jose Aguilar Blog<\/title>\n<meta name=\"description\" content=\"Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como hacer una llamada Ajax con XMLHttpRequest - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-27T06:44:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/\",\"name\":\"Como hacer una llamada Ajax con XMLHttpRequest - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png\",\"datePublished\":\"2022-07-27T06:44:44+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"description\":\"Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png\",\"width\":500,\"height\":500,\"caption\":\"Como hacer una llamada Ajax con XMLHttpRequest\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como hacer una llamada Ajax con XMLHttpRequest\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como hacer una llamada Ajax con XMLHttpRequest - Jose Aguilar Blog","description":"Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Como hacer una llamada Ajax con XMLHttpRequest - Jose Aguilar Blog","og_description":"Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.","og_url":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2022-07-27T06:44:44+00:00","og_image":[{"width":500,"height":500,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/","url":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/","name":"Como hacer una llamada Ajax con XMLHttpRequest - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png","datePublished":"2022-07-27T06:44:44+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"description":"Descubre como hacer una llamada Ajax con XMLHttpRequest, objeto JavaScript obsoleto pero robusto y todav\u00eda en uso.","breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2022\/07\/Como-hacer-una-llamada-Ajax-con-XMLHttpRequest.png","width":500,"height":500,"caption":"Como hacer una llamada Ajax con XMLHttpRequest"},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/como-hacer-una-llamada-ajax-con-xmlhttprequest\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Como hacer una llamada Ajax con XMLHttpRequest"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/7772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=7772"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/7772\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/7773"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=7772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=7772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=7772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}