Home >Web Front-end >JS Tutorial >JS+ajax implements php asynchronous form submission
This time I will bring you JS+ajax to implement php asynchronous submission form. What are the precautions for JS+ajax to implement php asynchronous submission form. The following is a practical case, let's take a look.
Many times it is necessary to submit forms asynchronously. When there are too many forms, gettingElementById one by one becomes very impractical
Of course, jquery can implement asynchronous submission of forms, and the jquery.form.js library It seems to be quite popular
But sometimes I don’t want to use additional libraries, so I think about writing it myself and using pure js to implement asynchronous form submission
The implementation is as follows (this example is submitted using POST method , using php as the server script)
HTM L file: test
<html> <head> <script type="text/javascript" src="name_form.js"></script> </head> <body> <form action="process.php" id="ajax_form"> Username:<input type="text" name="username" id="username"/><br> <input type="button" onclick="submitForm('name_form')" value="Submit"> </form> <p id="tip"></p> </body> </html>
JS file: name_form.js
function createXmlHttp() { var xmlHttp = null; try { //Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { //IE try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function submitForm(formId) { var xmlHttp = createXmlHttp(); if(!xmlHttp) { alert("您的浏览器不支持AJAX!"); return 0; } var url = 'test.php'; var postData = ""; postData = "username=" + document.getElementById('username').value; postData += "t=" + Math.random(); xmlHttp.open("POST", url, true); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { if(xmlHttp.responseText == '1') { alert('post successed'); } } } xmlHttp.send(postData); }
PHP file: test.php
<?php if(isset($_POST['username']) { echo '1'; } ?>
The principle of the above program is that first the user has used the test. Enter the username information in the html file, then use the name_form.js file to implement ajax to submit the form, and then perform the operation in the php file. Here we only determine whether the username has been set, that is, whether the username exists. If it exists, it will be output. 1; In addition, you can also operate the database (add, modify, etc.), and then judge the operation result. If the result is true, output 1, and judge the returned information in xmlHttp.responseText in the js file, because it only outputs 1, so The judgment is correct, and a prompt box pops up with the content 'post successful'. In this way, we successfully implemented the asynchronous submission of the PHP form using Ajax.
Note: Make sure there is no output before the php file echo, so that ajax can accurately obtain the returned information.
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
Jump to the login page immediately after Ajax+Session fails
How to deal with Session failure when accessed by ajax
The above is the detailed content of JS+ajax implements php asynchronous form submission. For more information, please follow other related articles on the PHP Chinese website!