搜索热词

使用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请求完整案例相关推荐

  1. body curl 设置post_深入说说postman发送post请求

    上篇文章说了get和post的基本用法.其中post请求举的例子是发送一串json格式的数据.其实,除了上文提到的请求发送场景,还有些大家也会碰到的.这回我用postman官方提供的api测试网站给大 ...

  2. Ajax基础:发送jsonp请求(jsonp、jsonCallback)

    jsonp走的是get请求方式,也就是ajax的默认请求方式: ajax方法中也涵盖了jsonp请求,可以通过ajax方法来发送jsonp请求: <!--客户端代码--> <body ...

  3. 【ajax】ajax详解,ajax是什么?

    思路: ajax:(asynchronous javascript and xml) asynchronous 异步的 ajax是什么? ajax是一种用来改善用户体验的技术,其本质是利用浏览器提供的 ...

  4. python发post请求json_python request 以json形式发送post请求的正确的姿势

    一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行,请求报头,消息主题. 以json串提交数据,编码格式: application/json, 必须加上 impor ...

  5. python接口自动化(八)--发送post请求的接口(详解)

    简介 上篇介绍完发送get请求的接口,大家必然联想到发送post请求的接口也不会太难,被聪明的你又猜到了.答案是对的,虽然发送post请求的参考例子很简单,但是实际遇到的情况却是很复杂的,因为所有系统 ...

  6. 原声ajax发送post请求,原生JS实现ajax 发送post请求

    1. [代码]原生JS实现ajax 发送post请求 var oStr = ''; var postData = {}; var oAjax = null; //post提交的数据 postData ...

  7. HTML发送异步请求,使用原生JS发送ajax异步请求

    Ajax Ajax: Asynchronous javaScript and xml (异步的JavaScript和xml技术).当我们向服务器发起请求的时候,服务器不会像浏览器响应整个页面,而是只有 ...

  8. java原生封装_[Java教程]原生AJAX封装

    [Java教程]原生AJAX封装 0 2016-07-12 13:00:08 回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出!1 var ajaxHelper = { 2 ...

  9. .ajax get 写法,原生Ajax写法(GET)

    ajax的GET提交方式的原生代码: var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else if(w ...

最新文章

  1. Vivado使用误区与进阶——XDC约束技巧之I/O篇 (上)
  2. python树莓派系统_树莓派系统 Raspbian Buster 发布
  3. 关于PrintQueueCollection()类,跨线程调用错误“线程无法访问此对象,因为另一个线程拥有该对象”
  4. vc 通过句柄修改窗口大小_漫画:对象是如何被找到的?句柄 OR 直接指针?
  5. 如何查看服务器文件进程,如何查看服务器上的所有进程
  6. 管家婆辉煌版软件的使用方法_管家婆软件进销存的使用方法,管家婆软件使用教程_双全科技...
  7. redis4数据类型.更新HyperLogLog类型
  8. [Translation]Silverlight 4-MVVM with Commanding and WCF RIA Services
  9. 【JOURNAL】Salles de SV Toulouse
  10. GNU大型项目构建和覆盖率生成(第一篇)
  11. 单晶硅各向异性刻蚀技术
  12. CPen 使用 PS_DOT 无法画出虚线
  13. n9005zhuenb6 Android 5,三星Galaxy Note3(港版N9005)刷机与ROOT教程【详细介绍】
  14. 【图文测评】小智的服务器亲测
  15. 喝酸奶竟然能预防霉菌性阴道炎
  16. Xposed插件开发环境配置
  17. 门徒Disciples体系:致力于成为“DAO世界”中的集大成者。
  18. K8S YAML 详解
  19. awk 分隔符_awk 命令快速入门
  20. 百度站长工具之 流量与关键词

热门文章

  1. linux系统pkl,(网摘)Linux新手必看:浅谈如何学习linux
  2. Android 音乐播放器制作(带有通知栏、Widget小挂件)
  3. Mac mini 使用普通键盘设置 Windows 的粘贴、复制、剪切习惯
  4. HCIA笔记-----ACL访问控制列表
  5. 2021.03 编程题 36【Python二级题目解析】
  6. Java程序编写一个矩形类,将长与宽作为矩形类的属性,在构造方法中将长、宽初始化,定义一个成员方法求此矩形的面积。
  7. 2020爱分析·中国人工智能厂商全景报告
  8. 实验一计算机基础和网络知识,有关于计算机基础心得体会
  9. python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置
  10. leetcode系列--69.Sqrt(x)