初学Ajax(二)

$.get()和$.post()

.load()方法是局部方法,因为它需要一个包含元素的jQuery对象作为前缀。而$.get()和$.post()是全局方法,无须指定某个元素。对于用途而言,.load()适合做静态文件的异步获取,而对于需要传递参数到服务器页面的,$.get()和$.post()更加合适。

$.get()方法有四个参数,前面三个参数和.load()一样,多了一个第四参数type,即服务器返回的内容格式:包括xml、html、script、json、jsonp和text。第一个参数为必选参数,后面三个为可选参数。

html代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Ajax</title>
    <script type="text/javascript" src="jquery-1.12.3.js"></script>
    <script type="text/javascript" src="demo.js"></script>
</head>
<body>
    <input type="button" value="异步加载数据" />
    <div id="box">

    </div>
</body>
</html>

get方式接受的PHP:

<?php
    if($_GET[‘url‘] == ‘ycku‘) {
        echo "瓢城Web俱乐部";
    } else {
        echo "木有!";
    }
?>

jQuery代码如下:

①通过直接在url问号后紧跟着传参

$("input").click(function() {
    $.get("test.php?url=ycku", function(response, status, xhr) {
        $("#box").html(response);
    });
});

②通过第二个参数data,字符串形式的键值对传参,然后自动转换为问号后紧跟着传参

$("input").click(function() {
    $.get("test.php","url=ycku", function(response, status, xhr) {
        $("#box").html(response);
    });
});

③通过第二个参数data,对象形式的键值对传参,然后自动转换为问号后紧跟着传参

$("input").click(function() {
    $.get("test.php",{url:"ycku"}, function(response, status, xhr) {
        $("#box").html(response);
    });
});

post方式接受的PHP:

<?php

    if($_POST[‘url‘] == ‘ycku‘) {
        echo "瓢城Web俱乐部";
    } else {
        echo "木有!";
    }

?>

jQuery代码:

①post提交不能使用问号传参

$("input").click(function() {
    $.post("test.php?url=ycku", function(response, status, xhr) {
        $("#box").html(response);
    });
});

②post提交可以使用字符串形式的键值对传参,自动转换为http消息实体传参

$("input").click(function() {
    $.post("test.php","url=ycku", function(response, status, xhr) {
        $("#box").html(response);
    });
});

③post提交可以使用对象键值对

$("input").click(function() {
    $.post("test.php",{url:"ycku"}, function(response, status, xhr) {
        $("#box").html(response);
    });
});

使用$.post()异步返回html类型:

$("input").click(function() {
    $.post("test.php",{url:"ycku"}, function(response, status, xhr) {
        $("#box").html(response);
    }, "html"); //php文件返回的是纯文本,默认是html或text
});

注意:第四参数type是指定异步返回的类型。一般情况下type参数是智能判断,并不需要我们主动设置,如果主动设置,则会强行按照指定类型格式返回。

$("input").click(function() {
    $.post("test.php",{url:"ycku"}, function(response, status, xhr) {
        $("#box").html(response);
    },"xml"); //本身是纯文本,如果强行按照xml或者json数据格式返回的话,那么就无法获取数据了
});

服务器有test.xml文件:

<?xml version="1.0"?>
<root>
    <url>www.ycku.com</url>
</root>

jQuery代码:

$("input").click(function() {
    $.post("test.xml", function(response, status, xhr) {
        //$("#box").html(response); //报错
        alert(response); //[object XMLDocument]
    },"xml");
});
$("input").click(function() {
    $.post("test.xml", function(response, status, xhr) {
        //$("#box").html(response);
        alert(response);
    },"html");  //默认type已经是xml,如果默认已经是xml,强行设置为html,则会连xml标签也返回
});

使用$.post()异步返回xml:

$("input").click(function() {
    $.post("test.xml", function(response, status, xhr) {
        //alert($(response).find("root").find("url").text());
        $("#box").html($(response).find("root").find("url").text());
    }); //type自动转为xml
});

注意:如果载入的是xml文件,type会智能判断,如果强行设置html类型返回,则会把xml文件当成普通数据全部返回,而不会按照xml格式解析数据。

服务器有test.json文件:

[
    {
        "url" : "www.ycku.com"
    }
]

使用$.post()异步返回json:

$("input").click(function() {
    $.post("test.json", function(response, status, xhr) {
        alert(response[0].url);
    }, "json");
});

$.post()方法的使用和$.get()基本上一致,他们之间的区别也比较隐晦,基本都是背后的不同,在用户使用上体现不出。具体区别如下:

  1. GET请求是通过URL提交的,而POST请求则是HTTP消息实体提交的
  2. GET提交有大小限制(2KB),而POST方式不受限制
  3. GET方式会被缓存下来,可能有安全性问题,而POST没有这个问题
  4. GET方式通过$_GET[]获取,POST方式通过$_POST[]获取(仅针对php而言)

$.getScript()和$.getJSON()

jQuery提供了一组用于特定异步加载的方法:$.getScript(),用于加载特定的JS文件;$.getJSON(),用于专门加载JSON文件。

有时我们希望能够在特定的情况再加载JS文件,而不是一开始把所有JS文件都加载了,这时就要使用$.getScript()方法。

Ajax.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Ajax</title>
    <script type="text/javascript" src="jquery-1.12.3.js"></script>
    <script type="text/javascript" src="demo.js"></script>
    <!-- <script type="text/javascript" src="test.js"></script> -->
</head>
<body>
    <input type="button" value="异步加载数据" />
    <div id="box">

    </div>
</body>
</html>

test.js:

alert("我在被呼唤的情况下才被加载");

jQuery代码:

点击按钮后再加载JS文件:

$("input").click(function() {
    $.getScript("test.js");
});

$.getJSON()方法是专门用于加载JSON文件的,使用方法和之前的类似。

test.json:

[
    {
        "url" : "www.ycku.com"
    }
]

jQuery代码:

$("input").click(function() {
    $.getJSON("test.json", function(response, status, xhr) {
        alert(response[0].url);
    });
});
$("input").click(function() {
    $.getJSON("test.json", function(response, status, xhr) {
        alert(response); //[object Object]
    },"html");
});
时间: 2024-10-17 19:48:41

初学Ajax(二)的相关文章

TensorFlow官方文档MNIST初学笔记[二]

TensorFlow官方文档MNIST初学笔记[二] MNIST是一个简单的计算机视觉数据集, 它还包括每个图像的标签, 每个图像是28像素乘以28像素, 我们可以把这个数组变成一个28×28 = 784个数字的向量.MNIST只是一个784维向量空间中的一个点.mnist.train.images具有形状的张量(n维阵列)[55000, 784] 第一维度是图像列表中的索引,第二维度是每个图像中每个像素的索引.对于特定图像中的特定像素,张量中的每个条目是0和1之间的像素强度. MNIST中的每

初学Ajax

AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和XML(标准通用标记语言的子集). AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面.

AJAX(二)详解GET/POST请求

上次是最简单的原生JS实现AJAX效果.不过,那简单的步骤不能适应各种不同的浏览器,尤其是万恶的IE,尤其是低版本的IE浏览器.本期就来搞定各个浏览器,以及其他各项参数的设置. 一.服务端代码 服务端代码仍然使用.NET一般处理程序,这次的逻辑略有改动,通过QueryString获取一个key为type的参数,旨在接下来演示AJAX通过GET方式传参.此type属性预设值为"DATE"/"TIME",如果是"DATE",服务端就返回当前日期(年月

谈谈Ajax(二)

昨天还没有谈完,今天做一个了解. 首先还是以错误,来讲述. 一.AJax常见错误 Ajax常见的错误,除了昨天列举的之外.还有就是如下状态码: 405,请求类型错误,比如请求是POST,你却用GET,通常出现这种情况是在SpringMVC中的@RequestMapping,有使用SpringMVC经验的小伙伴们都知道,@RequestMapping默认的请求方式为GET.如果你因为复制粘贴没有仔细检查,在调试Ajax的时候就会出现405状态码.当然了,你没有通过Ajax的调试方式,通常就会直接走

对jquery中的$.ajax二次封装 从而多次调用 今天一整天都在想这个事情

当然了  我封装的是$.ajax  可以传参数  多次调用请求接口  为啥我们这地方不注重前端呢  我都不知道为啥去坚持 不说了  上代码 js文件 $ajax.js $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"username": "张三", "password": 123456} * succCallback 成功回调函数 * errorCallback

初学Ajax(一)

以下文字根据李炎恢——jQuery教程整理而成. Ajax全称为:“Asynchronous JavaScript and XML”(异步JavaScript和XML),它并不是JavaScript的一种单一技术,而是利用了一系列交互式网页应用相关的技术所形成的结合体.使用Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了用户体验. Ajax概述 Ajax这个概念是由Jesse James Garrett在2005年发明的.它本身不是单一技术,是一串技术的集合,主要有: JavaSc

Jquery Ajax二次封装(部分转载)

/* ajax调用扩展 */ $.extend($,{ ajaxGetJson:function(url,data,callback) { $.ajax({ url:url, data:data, datatype:"json", method:"get", contentType: "application/json", beforeSend:function(){ //myLoad();//打开加载层 }, complete:function

ajax(二)

ajax XMLHttpRequest对象if (window.ActiveXObject) {                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");            }             else if (window.XMLHttpRequest) {                xmlhttp = new XMLHttpRequest();                          

Linux初学(二)

本篇随笔为Linux实验报告二,主要内容为Linux常用的命令.  一 Vim的基本使用 Vim有6种基本模式与5种派生模式,但常用模式只有三种,下面分别说明. 1. 普通模式:这是打开时的默认模式,Vim的强大编辑功能来自于此模式的各种命令,下面会具体说明. 2. 插入模式:由普通模式按a/i进入,用于插入文本. 3. 命令行模式: 在命令行模式中可以输入会被解释成并执行的文本.在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式. 下面对具体的功能做说明: 复制:在普通模式中,使