javascript - readystate never reaching 4 -


in code below try post data table , retrieve several records table afterwards. testing purposes have included dummy query in php, returns valid xml.

but javascript readystate reach readystate 1 (twice). php seems working fine suspect have scripted javascript incorrectly. problem "request" variable?

$(document).ready(function() {    $('form').submit(function(event) { //trigger on form submit      $('#name + .throw_error').empty(); //clear messages first        var name = $('input[name=name]').val();      var request = !window.xmlhttprequest ? new activexobject('microsoft.xmlhttp') : new xmlhttprequest;      request.onreadystatechange = function() {          if (request.readystate == 4 && request.status == 200) {          var xml = request.responsexml;          var dynamiclist = '';          document.getelementbyid("mylink").innerhtml = '';          var posts = xml.documentelement.getelementsbytagname("post");          (var = 0; < posts.length; i++) {            var msg = posts[i].getattribute("msg");            alert("test");            var dynamiclist = dynamiclist + '<article class="middlecontent"><header><h2><a href="#" title="post">' + msg + '</a></h2></header> </article>';            document.getelementbyid("mylink").innerhtml = dynamiclist;          };        };      };      request.open('post', 'process.php', true);      request.setrequestheader("content-type", "application/x-www-form-urlencoded");      request.send('name=' + name);    });  });

using jquery makes sense here.

simple solution remove last "true" in request.open(), makes request asynchronous, non-blocking 1 (which should anyway). mdn states @ onreadystatechange shouldn't using synchronous requests (aka requests have "true" third argument open())

source: https://developer.mozilla.org/en-us/docs/web/api/xmlhttprequest


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -