定制网站Ajax-POST请求

上文 已经对Ajax定制网站做了简单的介绍,也分享了Ajax中GET数据请求定制网站的底层实现以及jQuery定制网站定制网站封装后的使用方式。定制网站那么本文再来记录一下Ajax中POST数据请求定制网站方式的底层实现和jQuery封装后的使用。

Ajax定制网站最常用的请求服务器方式有GETPOST两种。

GET 定制网站请求服务器方式常用于获取服务器数据,而 POST 请求服务器方式常用于向服务器发送数据,可携带参数量较大。本文主要介绍Ajax中的POST请求服务器的原生底层写法jQuery封装后的用法

使用XMLHttpRequest发起POST请求

使用XMLHttpRequest(简称:xhr)发起POST请求主要分五步:

1.创建XMLHttpRequest对象

2.调用open函数,指定请求方式URL地址

3.设置 Content-Tyep 属性(固定写法);

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

4.调用send函数,同时将数据以查询字符串的形式提交给服务器,发起Ajax请求

5.监听 onreadystatechange 事件。

  1. <script>
  2. // 1.创建xhr对象
  3. var xhr = new XMLHttpRequest();
  4. // 2.调用open函数,决定请求方式和URL地址
  5. xhr.open('POST', 'http://XXX');
  6. // 3.设置 Content-Tyep 属性(固定写法)
  7. xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  8. // 4.调用send,同时将数据以查询字符串的形式提交给服务器
  9. xhr.send('bookname=水浒传&author=施耐庵&publisher=北京图书出版社');
  10. // 5.监听 onreadystatechange 事件
  11. xhr.onreadystatechange = function() {
  12. if(xhr.readyState === 4 && xhr.status === 200) {
  13. console.log(xhr.responseText);
  14. }
  15. }
  16. </script>

注意:1.第三步设置 Content-Type 属性是固定写法,几乎不需要改的。而第五步回调函数中的if判断条件也是固定写法,也是不需要修改的;

           2.POST请求方式因为主要是用于向服务器发送、提交数据的,所以必定是会携带参数的,参数是作为send()的形参传递的,而参数的格式是查询字符串格式,所以如果数据是以对象形式存储的,就需要使用到JSON.stringify()进行序列化操作将对象转换为JSON字符串格式。

ps:将JSON字符串转换为对象——JSON.parse(jsonStr)-这个把字符串转换为对象的操作也叫反序列化操作

使用jQuery发起POST请求

  1. <script>
  2. // 入口函数
  3. $(function () {
  4. // 直接发起$.post(URL, data, [callback])
  5. $.post('http://XXX',
  6. { // data数据,要参考并符合api格式给定
  7. bookname: '朝花夕拾',
  8. author: '鲁迅',
  9. publisher: '长江文艺出版社'
  10. },
  11. function (res) { // 回调函数
  12. console.log(res);
  13. }
  14. )
  15. })
  16. </script>

注意:使用jQuery发起POST请求,直接调用 $.post(URL, data, [callback]) 即可,data数据是以对象形式给定的(因为jQuery底层封装时使用了JSON.stringify()将对象转换成了JSON字符串格式),URL和data都是必须项,callback为可选项。

上一篇:

下一篇:

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发