Simplest jQuery, PHP, AJAX, and sqlite example?

前端 未结 2 1547
春和景丽
春和景丽 2020-12-18 06:15

I\'m having a really difficult time understanding how this all works together. I\'ve fiddled for a few days with this and have been unable to come up with any results. I\'m

相关标签:
2条回答
  • 2020-12-18 07:03

    Your submit function should return false;

    0 讨论(0)
  • 2020-12-18 07:04

    Do not forget that HTTP is a stateless protocol. Each HTTP request you make to your webserver is treated the same. This stands for whether the HTTP request was made using AJAX or not.

    What I'm trying to say is that AJAX is a client side implementation. All AJAX means is that you can interact with your webserver without having to reload your page. Implementing an AJAX request for the first time in JavaScript is often a brain bender, because the requirement of callbacks and the general asynchronous nature of the interaction makes it difficult to grasp.

    On the server however, there should be nothing to worry about. An AJAX request is still an HTTP request, so whether you navigate to http://www.yourwebsite.com/ajax/interact.php?a=1&b=2 in your browser, or make a HTTP GET request using AJAX, your PHP script will still behave exactly the same. If you var_dump($_GET); in either situation, you will get an array whose a and b members equal 1 and 2 respectively.

    If you can emulate the AJAX request in your browser successfully by navigating to the URL manually, that's the server work done.

    Having established that, your JavaScript should look something like this:

    $('#yourForm').bind('submit', function (event) {
        jQuery.get('/ajax/interact.php', 'a=1&b=2', function (response) {
            alert("AJAX request succeeded, response from the server was: " + response);
        });
    
        event.preventDefault();
    });
    

    Once you're confident using jQuery's AJAX methods, you might want to look at methods such as serialize() to help you out, and you can develop your jQuery code to something as follows:

    $('form.ajax').live('submit', function (event) {
        var self = $(this);
    
        jQuery[(self.attr('method') || 'get').toLowerCase()](self.attr('action'), self.serialize(), function (response) {
            alert("AJAX request succeeded, response from the server was: " + response);
        });
    
        event.preventDefault();
    });
    

    Hope this helps :)

    0 讨论(0)
提交回复
热议问题