Cupacabra 0 Posted November 15 When i send from page "/a" an ajax post request to page "/b" than it recive it on the chrome browser. On firefox, edge, or other mobile browsers it doesn't work. It return an 404 message. Page "/b" is a simple page with a template "b" which doesn't have any fields. What's wrong? Can a page reached only by get request? I want to process received data in an empty template. But this sould be called by ajax post request. Quote Share this post Link to post Share on other sites
Cupacabra 0 Posted November 15 Here what i mean: // page "/a" template a.php... <form method="POST" action="<?=$pages->get('/submitmail/')->url;?>" id="contactMessage"> <h4>Form....</h4> <input name="name" placeholder="Name" type="text" required> <textarea name="comments" placeholder="Comment" rows="5" required></textarea><br> <button type="submit" id="btnSend">Send</button> </form> <script> $(document).on('submit', '#contactMessage', function(ev) { ev.preventDefault(); let form = $(this); let formData = form.serializeArray(); $('#btnSend').prop('disabled', true); $('#btnSend').html('<i class="fa fa-spinner fa-spin"></i>please wait...wathever..'); $.ajax({ method: form.attr('method'), url: form.attr('action'), data: formData }).done(function( msg ) { alert("it works..."); document.querySelector('#contactMessage').reset(); }).fail(function() { alert("Error!"); }).always(function() { $('#btnSend').prop('disabled', false); $('#btnSend').html('Send'); }); }); </script> // page "/b" template b.php... <?php if ($config->ajax) { $name = $_POST['name']; $comments = $_POST['comments']; // do anything with received data.... } Quote Share this post Link to post Share on other sites
Zeka 830 Posted November 15 @Cupacabra Is there template file for the 'b' template? Quote Share this post Link to post Share on other sites
rick 507 Posted November 16 @Cupacabra, It looks as though your form action (referenced in your ajax url) is not pointing to your b.php template so it is not being called. Quote Share this post Link to post Share on other sites
Robin S 6,268 Posted November 16 6 hours ago, Cupacabra said: When i send from page "/a" an ajax post request to page "/b" than it recive it on the chrome browser. On firefox, edge, or other mobile browsers it doesn't work. It return an 404 message. It's unlikely the browsers themselves are making the difference here. Probably you are logged into the PW admin in Chrome but not in the other browsers. So your problem is due to some access restriction on page/template "b". 1 Quote Share this post Link to post Share on other sites
Cupacabra 0 Posted November 16 16 hours ago, Zeka said: @Cupacabra Is there template file for the 'b' template? yes. action="<?=$pages->get('/b/')->url;?>" Quote Share this post Link to post Share on other sites
Cupacabra 0 Posted November 16 Now it works, the page was unpublished. 🤭 Thanks. Quote Share this post Link to post Share on other sites