Me gustaría enviar una solicitud de Ajax en un archivo de plantilla pug.
form#payment-form() section label(for="amount") input#amount(name="amount" type="tel" min="1" placeholder="Amount" value="10") script(src="scripts/jquery.js") script. (function () { var amount = $('#amount').val(); $.ajax({ type: "POST", url: "/posturl", data: {'amount':amount}, success: function(){}, dataType: 'json' }); })()Pero no funciona, ¿cómo hacerlo? Quiero saber cómo enviar una solicitud ajax en javascript incrustado del archivo pug
A mí me parece que hay dos problemas
(function (){document.ready para asegurarse de que el contenido HTML esté listo. Puede evitar esto si realmente no le importa DOM una vez que tenga la respuestaverifique un ejemplo de trabajo a continuación
doctype html html head script(src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js') script. $(document).ready(function(){ $.ajax({url: "demo_test.txt", success: function(result){ $("#div1").html(result); }}); }); body #div1 h2 Let jQuery AJAX Change This TextAquí no hay problema con su plantilla de pug (tal vez solo puede eliminar () después de #payment-form() porque está vacío y no es una mezcla). Pero con su JS, envía la solicitud AJAX de inmediato, debe vincularla a un evento (haga clic en un botón, presione una tecla en una entrada, etc.). Luego, debe asegurarse de colocar su lib jquery.js en un directorio al que pueda acceder desde su navegador con scripts/jquery.js . Si aún no funciona después de este cambio, informe con mayor precisión su error (abra la consola para obtener los mensajes, indíquenos el comportamiento que espera y el comportamiento que obtiene).