jQuery库中支持AJAX的操作,功能十分完善

详细请参考官方文档:https://www.jquery123.com/category/ajax/

首先需要引入jquery文件!!!

$.ajax

        $.ajax({
// 设置请求地址
url: 'json.php',
// 设置请求方式(不设置时默认为get)
type: 'get',
// 设置的是请求参数
data: {id: 1, name: '张三'},
// 用于设置响应体的类型 注意跟 data 参数没关系
dataType: 'json',
success: function (res) {
// res 会自动根据服务端相应的 Content-Type 自动转换为对象
// 这是 jquery 内部实现的
console.log(res);
}
});

json.php

<?php 

$xiaofang = array('name' => '小方', 'age' => 18);

echo json_encode($xiaofang);

 控制台显示:

注意:设置了 dataType 之后,同时在服务端设置了 Content-Type之后,则不会管服务端设置了哪种文档类型!!!

现在,我们在 json.php 中设置 applicatioin/xml

<?php 

$xiaofang = array('name' => '小方', 'age' => 18);
header('Content-Type: application/xml');
echo json_encode($xiaofang);

 控制台还是显示

$.ajax 中的 callback

        $.ajax({
url: 'time.php',
type: 'get',
beforeSend: function (xhr) {
// 在所有(open,send)之前执行
console.log('beforeSend', xhr);
},
// 只有请求成功(状态码为200)才会执行这个函数
success: function (res) {
console.log('success', res);
},
error: function (xhr) {
// 只有请求不正常(状态码不为200)才会执行
console.log('error', xhr);
},
complete: function (xhr) {
// 请求完成:不管是成功还是失败都会触发
console.log('complete', xhr);
}
});

运行结果:(这算是请求成功了)

现在我们将存在的地址改变为一个不存在的地址再次请求

运行结果则会是

$.get和$.post(我们大多数使用这两个)

正如方法名一样,$.get 就是使用 get 的请求方式对服务端进行请求

$.post 就是使用 post 的请求方式对服务端进行请求

两个方法的参数为:

第一个参数:请求地址

第二个参数:传递到服务端的参数(使用对象方式即可,也可使用 urlencoded 形式)

第三个参数:回调函数(接收响应体)

        $.get('time.php', {id: 1}, function (res) {
console.log(res);
}); $.post('time.php', {id: 1}, function (res) {
console.log(res);
});
        $.get('time.php', 'id=1', function (res) {
console.log(res);
}); $.post('time.php', 'id=1', function (res) {
console.log(res);
});

如果我们必须要从服务端接收 JSON 格式的数据的话,那么就要使用 $.getJSON()了,并且一定要在服务端设置 'Content-Type: application/json'。不然拿到的数据是字符串类型的

例如:

json.php

$xiaofang = array('name' => '小方', 'age' => 18);
echo json_encode($xiaofang);

ajax

        $.getJSON('json.php', {id: 1}, function (res) {
console.log(res);
});

运行结果

现在我们在服务端设置 'Content-Type: application/json'

<?php 

$xiaofang = array('name' => '小方', 'age' => 18);
header('Content-Type: application/json');
echo json_encode($xiaofang);

  那么,运行结果为:

还在学习当中,有错误的还请大佬们指正,谢谢!!!

jQuery中的 AJAX的更多相关文章

  1. Jquery中的Ajax

    AJAX: * jQuery中的Ajax * 封装第一层 - 类似于原生Ajax的用法 * $.ajax() - 最复杂 * 选项 * url - 请求地址 * type - 请求类型,默认为GET ...

  2. jQuery入门(4)jQuery中的Ajax应用

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  3. 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】

    一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...

  4. jquery中的ajax参数

    jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参 ...

  5. 用JQuery中的Ajax方法获取web service等后台程序中的方法

    用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...

  6. jQuery中操作Ajax方法小结

    有时候,越深入去了解一个点,越发觉得自己无知,而之前当自己晓得一两个片面的点还洋洋自得,殊不知,这是多么讽刺 jQery对Ajax操作进行了封装,常见的 ajax()属于最底层的方法,使用频率很高的 ...

  7. $.ajax()方法详解 jquery中的ajax方法

    jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...

  8. 深入理解ajax系列第九篇——jQuery中的ajax

    前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而 ...

  9. 两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http

    一.JQuery与AngularJS 首先,先简单的了解一下JQuery与AngularJS.从源头上来说,两者都属于原生JS所封装成的库,两种为平行关系. 二.Ajax请求与数据遍历打印 这里是Aj ...

  10. jQuery中的$.ajax()方法

    jQuery中的$.ajax()方法 $.ajax({ type:"POST", url:"../page/user.action?userId=" + use ...

随机推荐

  1. Linux离线安装Docker

    1.从官方下载Docker安装包并上传至虚拟机 https://download.docker.com/linux/static/stable/x86_64/ 2.解压安装包 tar -xvf doc ...

  2. SQLServer string_split函数,撕裂函数,撕开函数

    declare @name char(1000) --注意:char(10)为10位,要是位数小了会让数据出错 set @name='s{sss}fc{fggh}dghdf{cccs}x' selec ...

  3. Buffon投针问题

  4. Android adb临时关闭Selinux

    在eng/userdebug版本中 使用getenforce 命令查询当前权限状态,如:adb shell getenforce 使用setenforce 命令进行设置:adb shell seten ...

  5. C# Newtonsoft.Json解析json字符串处理 - JToken 用法

    //*调用服务器API(获取可以处理的文件) //1.使用JSON通信协议(调用[待化验任务API]) String retData = null; { JToken json = JToken.Pa ...

  6. IDEA查看接口的实现类

    查找接口的实现类: 快捷键 ctrl + alt +B 再按F2查看详细文档注解 查看类或接口的继承关系: ctrl + h

  7. boost中g++ 链接undefined reference to `boost::system::generic_category()问题

    编译错误如下: g++ -std=c++11  tcp_session.cpp tcp_server.cpp test.cpp -o test -pthread/tmp/ccv4rZkD.o: In ...

  8. CenterOS7 安装Mysql8 及安装会遇到的问题

    1.下载 MySQL 所需要的安装包 网址:https://dev.mysql.com/downloads/mysql/ 2.Select Operating System: 选择 Red Hat , ...

  9. hashMap常见问题

    [解析hashMap的源码实现]      点击进入hashMap的源码实现 0.谈谈对hashMap的理解? 从底层结构.存取.扩容.冲突.实现原理.源码等方面说明. 1.你知道哪些常用的Map集合 ...

  10. LeetCode 872. 叶子相似的树(Leaf-Similar Trees)

    872. 叶子相似的树 872. Leaf-Similar Trees 题目描述 请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个叶值序列. LeetCode872. Leaf- ...