原生php ajax post_使用原生ajax发送post请求完整案例
搜索热词
使用ajax发送数据实现前后台的交互,我想是web开发最基础的技能了。近来dz开发因为不兼容jquery,所以只能使用原生js发送数据,不想还遇到很多问题。在这里分析总结一下。先来一个使用ajax发送post表单数据的案例。
ajax发送post请求实例
姓名:
学校:
个人简介:
提交
function ajaxpost(){
var f = document.userinfo;
var uname = f.username.value;
var uschool = f.school.value;
var uinfo = f.selfinfo.value;
var xmlhttp
if (window.XMLHttpRequest){
// code for IE7+,Firefox,Chrome,Opera,Safari
xmlhttp=new XMLHttpRequest();
}else{
// code for IE6,IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var obj = eval('('+xmlhttp.responseText+')');
alert('姓名:'+obj.uname+'学校:'+obj.uschool+'个人简介:'+obj.uinfo);
}
}
xmlhttp.open("post","index1.PHP",true);
/*
发送post请求时此句万万不能少
在Form元素的语法中,EncType表明提交数据的格式
用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。
application/x-www-form-urlencoded:窗体数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data:窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain:窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符
*/
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('uname='+uname+'&uschool='+uschool+'&uinfo='+uinfo);
}
index1.PHP
if(!empty($_POST)){
echo json_encode($_POST);
}
有几点要注意的
1:ajax不能跨域请求数据:当跨域时:如当前脚本域名为:localhost/index.PHP,请求的url为127.0.0.1,则发送请求失败,或者服务器能收到请求,但是xmlhttp.status=0,浏览器接受不到服务器返回的数据。
何为跨域?跨域如何发送请求数据,这篇博客有很好的解释。
http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html#m0
2:当用for循环发送请求时,因为for循环速度远大于一次请求完成的速度,所以ajax只能收到最后一次请求的数据。
3:有关json,PHP函数json_encode()和json_decode()都只能接受ut8格式编码的字符串,否者返回null。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
原生php ajax post_使用原生ajax发送post请求完整案例相关推荐
- body curl 设置post_深入说说postman发送post请求
上篇文章说了get和post的基本用法.其中post请求举的例子是发送一串json格式的数据.其实,除了上文提到的请求发送场景,还有些大家也会碰到的.这回我用postman官方提供的api测试网站给大 ...
- Ajax基础:发送jsonp请求(jsonp、jsonCallback)
jsonp走的是get请求方式,也就是ajax的默认请求方式: ajax方法中也涵盖了jsonp请求,可以通过ajax方法来发送jsonp请求: <!--客户端代码--> <body ...
- 【ajax】ajax详解,ajax是什么?
思路: ajax:(asynchronous javascript and xml) asynchronous 异步的 ajax是什么? ajax是一种用来改善用户体验的技术,其本质是利用浏览器提供的 ...
- python发post请求json_python request 以json形式发送post请求的正确的姿势
一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行,请求报头,消息主题. 以json串提交数据,编码格式: application/json, 必须加上 impor ...
- python接口自动化(八)--发送post请求的接口(详解)
简介 上篇介绍完发送get请求的接口,大家必然联想到发送post请求的接口也不会太难,被聪明的你又猜到了.答案是对的,虽然发送post请求的参考例子很简单,但是实际遇到的情况却是很复杂的,因为所有系统 ...
- 原声ajax发送post请求,原生JS实现ajax 发送post请求
1. [代码]原生JS实现ajax 发送post请求 var oStr = ''; var postData = {}; var oAjax = null; //post提交的数据 postData ...
- HTML发送异步请求,使用原生JS发送ajax异步请求
Ajax Ajax: Asynchronous javaScript and xml (异步的JavaScript和xml技术).当我们向服务器发起请求的时候,服务器不会像浏览器响应整个页面,而是只有 ...
- java原生封装_[Java教程]原生AJAX封装
[Java教程]原生AJAX封装 0 2016-07-12 13:00:08 回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出!1 var ajaxHelper = { 2 ...
- .ajax get 写法,原生Ajax写法(GET)
ajax的GET提交方式的原生代码: var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else if(w ...
最新文章
- Vivado使用误区与进阶——XDC约束技巧之I/O篇 (上)
- python树莓派系统_树莓派系统 Raspbian Buster 发布
- 关于PrintQueueCollection()类,跨线程调用错误“线程无法访问此对象,因为另一个线程拥有该对象”
- vc 通过句柄修改窗口大小_漫画:对象是如何被找到的?句柄 OR 直接指针?
- 如何查看服务器文件进程,如何查看服务器上的所有进程
- 管家婆辉煌版软件的使用方法_管家婆软件进销存的使用方法,管家婆软件使用教程_双全科技...
- redis4数据类型.更新HyperLogLog类型
- [Translation]Silverlight 4-MVVM with Commanding and WCF RIA Services
- 【JOURNAL】Salles de SV Toulouse
- GNU大型项目构建和覆盖率生成(第一篇)
- 单晶硅各向异性刻蚀技术
- CPen 使用 PS_DOT 无法画出虚线
- n9005zhuenb6 Android 5,三星Galaxy Note3(港版N9005)刷机与ROOT教程【详细介绍】
- 【图文测评】小智的服务器亲测
- 喝酸奶竟然能预防霉菌性阴道炎
- Xposed插件开发环境配置
- 门徒Disciples体系:致力于成为“DAO世界”中的集大成者。
- K8S YAML 详解
- awk 分隔符_awk 命令快速入门
- 百度站长工具之 流量与关键词
热门文章
- linux系统pkl,(网摘)Linux新手必看:浅谈如何学习linux
- Android 音乐播放器制作(带有通知栏、Widget小挂件)
- Mac mini 使用普通键盘设置 Windows 的粘贴、复制、剪切习惯
- HCIA笔记-----ACL访问控制列表
- 2021.03 编程题 36【Python二级题目解析】
- Java程序编写一个矩形类,将长与宽作为矩形类的属性,在构造方法中将长、宽初始化,定义一个成员方法求此矩形的面积。
- 2020爱分析·中国人工智能厂商全景报告
- 实验一计算机基础和网络知识,有关于计算机基础心得体会
- python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置
- leetcode系列--69.Sqrt(x)