Jump to content
Cupacabra

receive post-request on page

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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....
}

 

Share this post


Link to post
Share on other sites

@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.

Share this post


Link to post
Share on other sites
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".

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...