$.ajax()方法进行网页间传值示例

下面进行详细讲解“$.ajax()方法进行网页间传值示例”的完整攻略。

什么是$.ajax()方法

$.ajax() 方法是 jQuery 库里的一种简单易用的方法,用于执行AJAX(异步 JavaScript 和 XML)请求。$.ajax() 方法可以对 Web 应用程序进行异步 HTTP(Ajax)请求,支持跨域。可以发送POST、GET等类型的请求,并可以处理服务器返回的数据。

传值方法

一般传值有两种方式:Get和Post。Get方式通过URL提交,相当于在Web页面中增加了一些参数信息,而Post方式是通过HTTP发送数据,它不会像Get那样把数据暴露出来。

Get方法传值

$.ajax的Get方法传值时,可以把参数信息放在url后面,也可以把参数封装在data参数内传入,后端收到后可以直接获取,具体实现如下:

$.ajax({
    url: 'url地址',
    type: 'GET',
    data: {username: 'zhangsan', password: '123456'},
    success: function (data) {
        console.log(data)
    }
});

POST方法传值

同样也有两种方式可以传值。第一种既可以用data参数封装,也可以直接传递json格式的字符串。第二种方式要设置data类型为JSON,并在headers中设置contentType属性为application/json;charset=utf-8

1、用data参数封装

$.ajax({
    url: 'url地址',
    type: 'POST',
    data: {username: 'zhangsan', password: '123456'},
    success: function (data) {
        console.log(data)
    }
});

2、直接传递json格式的字符串

$.ajax({
    url: 'url地址',
    type: 'POST',
    data: JSON.stringify({username: 'zhangsan', password: '123456'}),
    dataType: 'json',
    success: function (data) {
        console.log(data)
    },
    contentType: 'application/json;charset=utf-8',
    headers: {
        'Content-Type': 'application/json;charset=utf-8',
        'Accept': 'application/json;charset=utf-8'
    }
});

示例说明

下面给出两个示例说明:

示例一

在一个页面向另一个页面发送Get请求,请求数据并把数据显示在页面上。

接收请求的页面代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>接收请求的页面</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<p>接收到请求,数据如下:</p>
<ul id="msg"></ul>
<script>
    $(function () {
        var username = getData('username');
        var password = getData('password');
        var msgList = '';
        msgList += '<li>username: ' + username + '</li>';
        msgList += '<li>password: ' + password + '</li>';
        $('#msg').html(msgList);
    });

    function getData(name) {
        var queryStr = window.location.search.substring(1);
        var arr = queryStr.split("&");
        for (var i = 0; i < arr.length; i++) {
            var sIndex = arr[i].indexOf(name + "=");
            if (sIndex !== -1) {
                var value = arr[i].substring(sIndex + name.length + 1);
                return value;
            }
        }
        return "";
    }
</script>
</body>
</html>

请求页面代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>请求页面</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<button id="send">发送请求</button>
<script>
    $(function () {
        $('#send').click(function () {
            $.ajax({
                url: '接收请求的页面地址',
                type: 'GET',
                data: {username: 'zhangsan', password: '123456'},
                success: function (data) {
                    console.log(data)
                }
            });
        });
    });
</script>
</body>
</html>

示例二

在一个页面向另一个页面发送Post请求,请求数据并把数据显示在页面上。

接收请求的页面代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>接收请求的页面</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<p>接收到请求,数据如下:</p>
<ul id="msg"></ul>
<script>
    $(function () {
        var username = getData('username');
        var password = getData('password');
        var msgList = '';
        msgList += '<li>username: ' + username + '</li>';
        msgList += '<li>password: ' + password + '</li>';
        $('#msg').html(msgList);
    });

    function getData(name) {
        var queryStr = window.location.search.substring(1);
        var arr = queryStr.split("&");
        for (var i = 0; i < arr.length; i++) {
            var sIndex = arr[i].indexOf(name + "=");
            if (sIndex !== -1) {
                var value = arr[i].substring(sIndex + name.length + 1);
                return value;
            }
        }
        return "";
    }
</script>
</body>
</html>

请求页面代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>请求页面</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<button id="send">发送请求</button>
<script>
    $(function () {
        $('#send').click(function () {
            $.ajax({
                url: '接收请求的页面地址',
                type: 'POST',
                data: {username: 'zhangsan', password: '123456'},
                success: function (data) {
                    console.log(data)
                }
            });
        });
    });
</script>
</body>
</html>

以上便是关于$.ajax()方法进行网页间传值示例的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:$.ajax()方法进行网页间传值示例 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • SpringBoot Bean花式注解方法示例下篇

    请听我详细讲解“SpringBoot Bean花式注解方法示例下篇”的完整攻略。 概述 本文主要介绍在Spring Boot项目中常用的Bean注解及其用法,包括@Component、@Service、@Repository、@Controller、@Configuration、@Bean等。 @Component注解 @Component是最常用的注解之一…

    Java 2023年6月3日
    00
  • Java SiteMesh新手学习教程代码案例

    Java SiteMesh是一款用于网站脚手架开发的框架,它提供了一些Web应用程序的通用解决方案,如请求处理、网页模板、依赖注入等。对于一名初学者来说,学习Java SiteMesh可能会有些吃力,因此,在此提供一份完整的攻略,帮助新手了解Java SiteMesh框架。 1. 环境搭建 在学习Java SiteMesh前,我们需要先搭建好环境。以下是环境…

    Java 2023年5月30日
    00
  • Spring Boot2解决idea console 控制台输出乱码的问题

    针对Spring Boot 2解决IDEA控制台输出乱码的问题,我们需要进行以下步骤: 步骤一:在application.properties文件中加入配置项 在Spring Boot2的应用程序中可以在application.properties文件中增加以下配置项: # 配置控制台编码为utf-8 spring.output.ansi.enabled=a…

    Java 2023年5月20日
    00
  • 对Jpa中Entity关系映射中mappedBy的全面理解

    对于Jpa中Entity关系映射中mappedBy需要全面理解,可以按照以下攻略进行: 1. 什么是mappedBy? 在Jpa中,当一个实体类A与另一个实体类B产生关联时,需要进行定义。这种定义一般是通过在一个实体类中定义一个属性,该属性上使用@OneToMany、@OneToOne、@ManyToMany等注解实现的。而在另一个实体类中对应的属性通常会使…

    Java 2023年5月20日
    00
  • 什么是Java内存模型?

    Java内存模型是一个规定了线程之间如何通过内存进行通讯的规范。JMM(Java Memory Model)规定了Java虚拟机如何控制线程与内存之间的数据传输。JMM主要通过定义内存栅栏和Happens-Before规则来实现线程通信。 JMM内存栅栏 内存栅栏是指一种同步屏障,用于强制共享数据的可见性和顺序性,确保各线程对内存所读到的数据是一致的。 Lo…

    Java 2023年5月11日
    00
  • Java cglib为实体类(javabean)动态添加属性方式

    Java cglib是一个强大的代码生成库,它可以在运行时创建Java类的动态代理。借助cglib,我们可以为实体类动态添加属性。以下是添加实体类属性的详细攻略: 步骤一:添加cglib依赖 在项目的pom.xml中添加cglib依赖: <dependency> <groupId>cglib</groupId> <a…

    Java 2023年6月15日
    00
  • 利用Java手写一个简易的lombok的示例代码

    下面是“利用Java手写一个简易的lombok的示例代码”的完整攻略。 1. 简介 Lombok是一个Java的库项目,通过注解的方式减少Java代码中的样板代码,提高生产率。使用Lombok可以轻松地实现JavaBean模式,并且省去了开发时大量的getter/setter、toString、equals、hashCode等方法的手动编写。 本文将基于Lo…

    Java 2023年5月23日
    00
  • Java多线程之锁的强化学习

    Java多线程之锁的强化学习 在多线程编程中,锁是一种常用的同步机制。通过锁,我们可以保证多个线程互斥地访问共享资源,从而避免数据不一致或者并发竞争导致的错误。 本文将介绍Java中锁的使用方法及优化技巧,帮助读者快速掌握多线程编程中应用锁的技能。 概述 Java中提供了多种锁的实现方式,包括synchronized关键字、ReentrantLock类、Re…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部