国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

AJAX與JSON數(shù)據(jù)交互處理

這篇具有很好參考價(jià)值的文章主要介紹了AJAX與JSON數(shù)據(jù)交互處理。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Ajax即Asynchronous?Javascript?And?XML(異步JavaScript和XML)在 2005年被Jesse James Garrett提出的新術(shù)語,用來描述一種使用現(xiàn)有技術(shù)集合的‘新’方法,包括:?或?XHTML, CSS,?JavaScript,?DOM, XML,?XSLT, 以及最重要的XMLHttpRequest。?[3]??使用Ajax技術(shù)網(wǎng)頁應(yīng)用能夠快速地將增量更新呈現(xiàn)在用戶界面上,而不需要重載(刷新)整個(gè)頁面,這使得程序能夠更快地回應(yīng)用戶的操作。?[3]

jQuery AJAX API

$.AJAX({settings})
url: 請求路徑
type: 請求的方式
data/msg: 發(fā)送服務(wù)器的參數(shù)
beforeSend:function, 發(fā)送請求前可修改 XMLHttpRequest 對象的 函數(shù)
success:function, 代表成功狀態(tài)的響應(yīng)函數(shù),參數(shù)是服務(wù)器端返回的數(shù)據(jù)對象
complate:function, 代表所有的操作都已經(jīng)完成后所做的處理
error:function, 代表錯(cuò)誤處理函數(shù)
語法:
$.ajax({
		url: "",
		type: "",
		data: {
			name: "yhc",
			id: 5321
		},
		success: function(res) {
			console.log(res)
		}
	})
<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022/8/20 0020
  Time: 15:49
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>Title</title>
  <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>

  <script type="text/javascript">
    $(function() {
      $("#username").blur(function() {
        $.ajax({
            type: "get",
            url: "RegController?username=" + $("#username").val(),
            success: function(data){
                $("#loading").remove() ;
                //$("#msg").html(msg);
                alert(data.msg) ;
            },
            beforeSend: function() {
                $("body").append($("<img>").attr({"src":"image/loading.gif","id":"loading"})) ;
            }
        });
        $.get("RegController",function(msg){
          $(msg.hello).each(function(index,d){
            $("#msg").html(d.borndate + ":" + d.studentNO) ;
          }) ;
        }) ;
      }) ;
    }) ;
  </script>
</head>
<body>
<input type="text" name="username" id="username" />
<span id="msg"></span>

</body>
</html>

get/post方法

get 與post區(qū)別

  • 安全性:get方式請求參數(shù)會(huì)拼接到url后面,安全性低,post請求參數(shù)會(huì)包裹在請求體中,安全性高
  • 傳輸數(shù)量:get方式傳輸數(shù)據(jù)量小,不能超過2kb,post傳輸數(shù)據(jù)量大
  • 傳輸速度:get速度快,post慢

$.get("xxx", {
?? ??? ?name: "xxx",
?? ??? ?id: 17
?? ?}, function(resText, status, xhr) {
?? ??? ?console.log(resText)
?? ?})

$.post("xxx", {
?? ??? ?name: "xxx",
?? ??? ?id: 17
?? ?}, function(resText, status, xhr) {
?? ??? ?console.log(resText)
?? ?})

?fastjson

?在前后端數(shù)據(jù)傳輸交互中,經(jīng)常會(huì)遇到字符串(String)與json,XML等格式相互轉(zhuǎn)換與解析,其中json以跨語言,跨前后端的優(yōu)點(diǎn)在開發(fā)中被頻繁使用,基本上可以說是標(biāo)準(zhǔn)的數(shù)據(jù)交換格式。fastjson 是一個(gè)java語言編寫的高性能且功能完善的JSON庫,它采用一種“假定有序快速匹配”的算法,把JSON Parse 的性能提升到了極致。它的接口簡單易用,已經(jīng)被廣泛使用在緩存序列化,協(xié)議交互,Web輸出等各種應(yīng)用場景中。
?

  1. 能夠支持將java bean序列化成JSON字符串,也能夠?qū)SON字符串反序列化成Java bean。
  2. 顧名思義,fastjson操作 JSON的速度是非??斓摹?/li>
  3. 無其他包的依賴。
  4. 使用比較方便。

maven依賴:

<dependency>
? ? <groupId>com.alibaba</groupId>
? ? <artifactId>fastjson</artifactId>
? ? <!--(起碼1.2.48以上)因?yàn)檫@個(gè)版本一下存在漏洞-->
? ? <version>版本根據(jù)自己需要</version>
</dependency>
?

public static final Object parse(String text); // 把JSON文本parse為JSONObject或者JSONArray

public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject?
? ??
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse為JavaBean?

public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray?

public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合?

public static final String toJSONString(Object object); // 將JavaBean序列化為JSON文本?

public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化為帶格式的JSON文本?

public static final Object toJSON(Object javaObject); //將JavaBean轉(zhuǎn)換為JSONObject或者JSONArray。
?

??java類轉(zhuǎn)換為json字符串

package com.csi.eshop.controller.product;

import com.alibaba.fastjson.JSON;
import com.csi.eshop.domain.Product;
import com.csi.eshop.service.ProductService;
import com.csi.eshop.service.impl.ProductServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

@WebServlet("/JSON_EACHController")
public class JSON_EACHController extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("application/json;charset=utf-8");

        PrintWriter  out = resp.getWriter();
        ProductService productService = new ProductServiceImpl();
        List<Product> list = productService.list();
        String s = JSON.toJSONString(list);
        out.println(s);

    }
}

會(huì)輸出集合以及數(shù)組對象

resp.setContentType("application/json;charset=utf-8");

使客戶端瀏覽器,區(qū)分不同種類的數(shù)據(jù),并根據(jù)不同的MIME調(diào)用瀏覽器內(nèi)不同的程序嵌入模塊來處理相應(yīng)的數(shù)據(jù)。

實(shí)際應(yīng)用

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: 華為
  Date: 2022/8/20
  Time: 22:12
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <link rel="stylesheet" 
          integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">

    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <!--  <script type="text/javascript" src="json/no3.js"></script>-->
    <!-- 可選的 Bootstrap 主題文件(一般不用引入) -->
    <!-- <link rel="stylesheet"  integrity="sha384-6pzBo3FDv/PJ8r2KRkGHifhEocL+1X2rVCTTkUfGk7/0pbek5mMa1upzvWbrUbOZ" crossorigin="anonymous"> -->

    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"
            integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous">
    </script>
    <script type="text/javascript">
        $.ajax({
            type: "get",
            url: "JSON_EACHController",
            success: function (msg) {
                // $("#loading").remove() ;
                //$("#msg").html(msg);
                //  alert(msg) ;
                $.each(msg, function (index, item) {

                    $("#list").html($("#list").html() +
                        "<div class='col-sm-6 col-md-3'>" +
                        "<div class='thumbnail'>" +

                        "<img id='img1' src='" + item.fileName + "' alt='猥瑣的圖片路徑' >" +
                        "<div class='caption'>" +
                        "<h3>" + item.name + "</h3>" +
                        "<p>" + item.description + "</p>" +
                        "<p>" + item.price + "</p>" +
                        "<p>" + "<a href='#' class='btn btn-primary' role='button'>購買</a>" + "<a href='#' class='btn btn-default' role='button'>加入購物車</a>" + "</p>" +
                        "</div>" +
                        "</div>" +
                        "</div>"
                    )
                })
            },

        });
    </script>
</head>
<body>
<div class="row" id="list">


    <!--    <div class="col-sm-6 col-md-3">-->
    <!--      <div class="thumbnail">-->
    <!--        <img src="images/per_1.jpg" alt="...">-->
    <!--        <div class="caption">-->
    <!--          <h3>Dior/迪奧 真我香水EDP 克麗絲汀</h3>-->
    <!--          <p>開業(yè)巨惠,北京專柜直供”,不光低價(jià),“真”才靠譜!</p>-->
    <!--          <p><a href="#" class="btn btn-primary" role="button">購買</a> <a href="#" class="btn btn-default" role="button">加入購物車</a></p>-->
    <!--        </div>-->
    <!--      </div>-->
    <!--    </div>-->

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

日期格式處理

日期字段上添加
@JSONFILED ( format = 'yyyy-MM-dd' )
JSON . toJSONString ( student ) ;?

數(shù)組和集合

import com.alibaba.fastjson.JSON;
import domain.Grade;
import domain.Result;
import domain.Student;
import org.junit.Test;

import java.util.*;

public class test1 {
    @Test
    public void test1(){
        Result result = new Result(200,"成功");
        String jsonStr = JSON.toJSONString(result);
        System.out.println(jsonStr);
    }
    @Test
    public void test2(){
        Student student = new Student();
        student.setStudentNo("10001");
        student.setBornDate(new Date());
        Grade grade = new Grade();
        grade.setGradeName("一年");
        grade.setGradeId(1);

        Set<Student> students = new HashSet<>();
        students.add(student);
        grade.setStudents(students);
        student.setGrade(grade);
        String jsonStr = JSON.toJSONString(student);
        System.out.println(jsonStr);
    }
    @Test
    public void test3(){
        Grade grade = new Grade();
        grade.setGradeName("一年");
        grade.setGradeId(1);
        Student student1 = new Student();
        student1.setStudentNo("10001");
        student1.setBornDate(new Date());

        Student student2 = new Student();
        student2.setStudentNo("10002");
        student2.setBornDate(new Date());
        Set<Student> students = new HashSet<>();
        students.add(student1);
        students.add(student2);
        grade.setStudents(students);
        String s = JSON.toJSONString(grade,true);
        System.out.println(s);
    }
    @Test
    public void test4(){
        //
        Grade grade = new Grade();
        grade.setGradeName("一年");
        grade.setGradeId(1);
        Student student1 = new Student();
        student1.setStudentNo("10001");
        student1.setBornDate(new Date());

        Student student2 = new Student();
        student2.setStudentNo("10002");
        student2.setBornDate(new Date());
        List<Student> studentList = new ArrayList<>();
        studentList.add(student1);
        studentList.add(student2);

        String s = JSON.toJSONString(studentList);
        System.out.println(s);

        Set<Student> students = new HashSet<>();
        students.add(student1);
        students.add(student2);
        grade.setStudents(students);

        String s1 = JSON.toJSONString(grade);
        System.out.println(s1);


        Map<String,Student> map = new HashMap<>();
        map.put("key1",student1);
        map.put("key2",student2);
        String giao = JSON.toJSONString(map,true);
        System.out.println(giao);
        //
    }
    @Test
    public void test5(){
        //
        Student student1 = new Student();
        student1.setStudentNo("10001");
        student1.setBornDate(new Date());
        String giao = JSON.toJSONString(student1);
        System.out.println(giao);
        //
    }
}

List[{對象}]

Set{[{對象}]}

Map{對象}文章來源地址http://www.zghlxwxcb.cn/news/detail-488665.html

到了這里,關(guān)于AJAX與JSON數(shù)據(jù)交互處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • javaweb之a(chǎn)jax異步交互

    javaweb之a(chǎn)jax異步交互

    一、概念 1、傳統(tǒng)網(wǎng)站存在的問題 傳統(tǒng)的頁面交互是Servlet 調(diào)用完業(yè)務(wù)邏輯層后將數(shù)據(jù)存儲到域?qū)ο笾?,然后跳轉(zhuǎn)到指定的 jsp 頁面,在頁面上使用 EL表達(dá)式 和JSTL 標(biāo)簽庫進(jìn)行數(shù)據(jù)的展示。該模式存在以下問題: 網(wǎng)速比較慢的情況下,頁面加載時(shí)間長,用戶需等待 表單提交后

    2023年04月08日
    瀏覽(17)
  • 異步請求(Ajax,axios,json)

    異步請求(Ajax,axios,json)

    同步/異步請求 表單(前端)向后端發(fā)送請求,屬于同步請求 同步 : 發(fā)一個(gè)請求, 給一個(gè)回應(yīng), 會(huì)用回應(yīng)的內(nèi)容 覆蓋 掉瀏覽器中內(nèi)容,這樣會(huì)打斷前端其他的正常操作,在現(xiàn)在的前端中,顯得不太友好。 異步 : 不同步 前端正常輸入時(shí),可以同時(shí)與后端進(jìn)行交互,后端響應(yīng)的數(shù)據(jù)

    2024年02月12日
    瀏覽(24)
  • 通過ajax異步交互實(shí)現(xiàn)echarts繪圖

    通過ajax異步交互實(shí)現(xiàn)echarts繪圖

    目錄 前言 1.引入庫 2.flask鏈接MYSQL讀取數(shù)據(jù) 3.HTML頁面echarts繪圖 4.結(jié)果實(shí)現(xiàn) 總結(jié): ECharts 是一個(gè)使用 JavaScript 實(shí)現(xiàn)的開源可視化庫,涵蓋各行業(yè)圖表,滿足各種需求。 ECharts 遵循 Apache-2.0 開源協(xié)議,免費(fèi)商用。 ECharts 兼容當(dāng)前絕大部分瀏覽器(IE8/9/10/11,Chrome,F(xiàn)irefox,Safari等

    2023年04月14日
    瀏覽(19)
  • JavaWeb中異步交互的關(guān)鍵——Ajax

    JavaWeb中異步交互的關(guān)鍵——Ajax

    AJAX (Asynchronous JavaScript And XML):異步的 JavaScript 和 XML。 我們先來說概念中的 JavaScript 和 XML , JavaScript 表明該技術(shù)和前端相關(guān); XML 是指以此進(jìn)行數(shù)據(jù)交換。 AJAX 作用有以下兩方面: 與服務(wù)器進(jìn)行數(shù)據(jù)交換 :通過AJAX可以給服務(wù)器發(fā)送請求,服務(wù)器將數(shù)據(jù)直接響應(yīng)回給瀏覽器

    2024年02月03日
    瀏覽(17)
  • 探索異步交互:JavaScript AJAX 的全面指南

    探索異步交互:JavaScript AJAX 的全面指南

    ???個(gè)人主頁:前端青山 ??系列專欄:JavaScript篇 ?? 人終將被年少不可得之物困其一生 依舊 青山 ,本期給大家?guī)鞪avaScript篇專欄內(nèi)容:JavaScript-AjAx 目錄 AJAX AJAX 的優(yōu)勢 AJAX 的使用 創(chuàng)建一個(gè) ajax 對象 配置鏈接信息 發(fā)送請求 一個(gè)基本的 ajax 請求 ajax 狀態(tài)碼 readyStateChange resp

    2024年02月03日
    瀏覽(46)
  • Qt+QtWebApp開發(fā)筆記(五):http服務(wù)器html中使用json觸發(fā)ajax與后臺交互實(shí)現(xiàn)數(shù)據(jù)更新傳遞

    Qt+QtWebApp開發(fā)筆記(五):http服務(wù)器html中使用json觸發(fā)ajax與后臺交互實(shí)現(xiàn)數(shù)據(jù)更新傳遞

    ??前面完成了頁面的跳轉(zhuǎn)、登錄,很多時(shí)候不刷新頁面就想刷新局部數(shù)據(jù),此時(shí)ajax就是此種技術(shù),且是異步的。 ??本篇實(shí)現(xiàn)網(wǎng)頁內(nèi)部使用js調(diào)用ajax實(shí)現(xiàn)異步交互數(shù)據(jù)。 ??在js中使用 ajax是通過XMLHttpRequest來實(shí)現(xiàn)的。 ? ?? ??鏈接:https://pan.baidu.com/s/1tJMTPhIIyVE40qWxRW

    2024年02月08日
    瀏覽(34)
  • 六、Json 數(shù)據(jù)的交互處理

    六、Json 數(shù)據(jù)的交互處理

    ??? ???JSON 概況以及 JAVA 基本操作 JSON 數(shù)據(jù)的方式 ??? ???因?yàn)楝F(xiàn)在的項(xiàng)目大多數(shù)都是前后端分離的項(xiàng)目,前端和后端都獨(dú)立開發(fā)和部署。 ??? ???由后端提供接口,前端從接口獲取數(shù)據(jù),將數(shù)據(jù)渲染到頁面上。前后端數(shù)據(jù)傳輸?shù)母袷骄褪?JSON! JSON 和 JavaScript 的關(guān)系:

    2024年02月10日
    瀏覽(20)
  • [前端系列第6彈]Ajax簡明教程:輕松實(shí)現(xiàn)Web頁面的異步交互

    在這篇文章中,我將介紹Ajax的基本概念、原理、優(yōu)缺點(diǎn)、實(shí)現(xiàn)方法和應(yīng)用場景,以及如何使用它來實(shí)現(xiàn)Web頁面的異步交互。還將給一些簡單而實(shí)用的例子,讓你可以跟著我一步一步地編寫自己的Ajax代碼。 目錄 一、什么是Ajax 二、如何使用Ajax (一)JavaScript中使用Ajax (二)

    2024年02月13日
    瀏覽(18)
  • Spring MVC學(xué)習(xí)隨筆-Ajax集成(JSON格式返回?cái)?shù)據(jù))、攔截器(MyInterceptor)、全局異常處理(GlobalExceptionResolver)

    Spring MVC學(xué)習(xí)隨筆-Ajax集成(JSON格式返回?cái)?shù)據(jù))、攔截器(MyInterceptor)、全局異常處理(GlobalExceptionResolver)

    學(xué)習(xí)視頻:【編程不良人】繼spring之后快速入門springmvc,面對SpringMVC不用慌 引入相關(guān)依賴 開發(fā)控制器 日期格式修正 可以正常響應(yīng) 攔截器 :Interceptor 攔截 中斷 類似于javaweb中的Filter,不過沒有Filter那么強(qiáng)大 作用 Spring MVC的攔截器是一種用于在請求處理過程中進(jìn)行預(yù)處理和后處

    2024年02月05日
    瀏覽(24)
  • DAY14_Filter&Listener&Ajax&Axios&Json&fastjson&綜合案例-axios和html交互

    DAY14_Filter&Listener&Ajax&Axios&Json&fastjson&綜合案例-axios和html交互

    Filter 表示過濾器,是 JavaWeb 三大組件(Servlet、Filter、Listener)之一。 過濾器可以把對資源的請求 攔截 下來,從而實(shí)現(xiàn)一些特殊的功能。 如下圖所示,瀏覽器可以訪問服務(wù)器上的所有的資源(servlet、jsp、html等) 而在訪問到這些資源之前可以使過濾器攔截來下,也就是說在訪問

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包