纯javascript的ajax实现php异步提交表单的简单实例

很多时候需要异步提交表单,当表单太多是时候,一个个getElementById变得很不实际

当然,jquery可以实现异步提交表单,jquery.form.js这个库貌似也挺流行

只是有时候并不想使用额外的库,所以就琢磨着自己写,用纯js来实现异步提交表单

实现如下(本例用POST方式提交,用php作为服务器脚本)

HTM L文件: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> <div id="tip"></div> </body> </html>

JS文件: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文件:test.php

<?php if(isset($_POST['username']) { echo '1'; } ?>

上面程序的原理是,首先用户用过在test.html文件中输入用户名信息,然后通过name_form.js文件进行ajax实现提交表单,然后在php文件中进行操作,此处只是判断用户名是否被设定,也就是说用户名是否存在,存在则输出1;另外,也可以对数据库进行操作(增,改等),然后判断操作结果,如果结果为真则输出1,在js文件中的xmlHttp.responseText中判断返回的信息,因为只是输出1,所以判断正确,此时弹出提示框,内容是'post successed'。这样就成功实现了用ajax实现php异步提交表单。

注:要保证php文件echo之前没有任何的输出,这样ajax才能准确地获取返回的信息。

以上这篇纯javascript的ajax实现php异步提交表单的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间: 2024-10-26 04:44:23

纯javascript的ajax实现php异步提交表单的简单实例的相关文章

Jquery.Form 异步提交表单的简单实例

 这篇文章主要介绍了Jquery.Form 异步提交表单的简单实例.需要的朋友可以过来参考下,希望对大家有所帮助 http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#   1. 在你的页面里写一个表单.一个普通的表单,不需要任何特殊的标记:    代码如下: <form id="myForm" method="post" action="/Home/AjaxFor

Jquery.Form 异步提交表单的简单实例_jquery

http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html 1. 在你的页面里写一个表单.一个普通的表单,不需要任何特殊的标记: 复制代码 代码如下: <form id="myForm" method="post" action="/Home/AjaxForm"><div>Name:<input id="username&quo

Jquery异步提交表单代码分享

 本文是jQuery结合ajax实现的异步提交表单的代码,是个人项目中提取出来的,分享给大家,有需要的小伙伴可以参考下.     功能很实用代码也很简单,就不多废话了,直接奉上: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $.ajax({ url:"mobileSurveyAction_addSurvey.action",//提交地址 data:$("#form1").serialize(),//将表单数据序列化 type:&

使用ajax异步提交表单的几种方法总结_AJAX相关

这里介绍三种常用的提交方式 方式一 手工收集所有的用户输入,封装为大的"k1=v1&k2=v2-"键值对形式,使用$.post(url, data,fn)把数据提交给服务器 $.ajax({ type:'post', url:'Notice_noTipsNotice', data:'k1=v1&k2=v2...', cache:false, dataType:'json', success:function(data){ } }); 方式二 单序列化:$('#myfor

使用ajax异步提交表单的几种方法总结

这里介绍三种常用的提交方式 方式一 手工收集所有的用户输入,封装为大的"k1=v1&k2=v2-"键值对形式,使用$.post(url, data,fn)把数据提交给服务器 $.ajax({ type:'post', url:'Notice_noTipsNotice', data:'k1=v1&k2=v2...', cache:false, dataType:'json', success:function(data){ } }); 方式二 单序列化:$('#myfor

Jquery 异步提交表单(post)

方法  $.post(url,params,function(data){}); 表单的action,method属性都没有 input 的类型只能为button不能为submit只能为button,否则点击button会执行表单action,不会走jquery异步 前台代码 <script type="text/javascript"> $(function()         {    //异步提交表单  $("#save").click(funct

jQuery异步提交表单的两种方式_jquery

本文为大家分享了两种jQuery异步提交表单的方式,具体内容如下 第一种方式:普通ajax方式提交  $(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: GLOBAL_PATH + "/Enterprise/savecompanyphoto", data: {username:$("#username").val(), content:$("#con

jquery下异步提交表单 异步跨域提交表单_jquery

1.使用post提交方式 2.构造表单的数格式 3.结合form表单的submit调用ajax的回调函数. 使用 jQuery 异步提交表单代码: 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>无标题页</title> </head> <script src="js/jquery-1.4.2.js">&l

IE下异步提交表单,jquery.form方式没作用

问题描述 我在其他浏览器像谷歌.360.火狐等用jquery.from的方式来异步提交表单,但是到了IE下就不管用了,想问一下大家IE下对异步提交表单有什么要求,大家都用什么方式呢? 解决方案 解决方案二:不能用?有什么错误吗?解决方案三:jquery不熟,不过浏览器之间的差异还是很大的,这个你开发的时候要和客户做好沟通,看客户习惯使用什么浏览器访问,即都需要支持什么浏览器.解决方案四:用jquery的ajax方法提交,form内要提交的内容用data参数,方法post就完事了么.$.ajax(