ajax数据传输方式_ajax获取json

ajax数据传输方式_ajax获取json简介: JavaScript中执行json的函数是eval()(注意:在使用的时候eval("(" + json字符串 + ")") 两边要加括号) 但是值得注意的是eval()方法是危险的,可以使用Function()来代替; JSON: Java

简介:

JavaScript中执行json的函数是eval()(注意:在使用的时候eval(“(” + json字符串 + “)”) 两边要加括号)

但是值得注意的是eval()方法是危险的,可以使用Function()来代替;

JSON: JavaScript Object Notation(JavaScript 对象标记法)。

JSON 是一种存储和交换数据的语法。

JSON 是通过 JavaScript 对象标记法书写的文本。

交换数据

当数据在浏览器与服务器之间进行交换时,这些数据只能是文本。

JSON 属于文本,并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。

我们也能把从服务器接收到的任何 JSON 转换为 JavaScript 对象。

以这样的方式,我们能够把数据作为 JavaScript 对象来处理,无需复杂的解析和转译。

JSON 值

在 JSON 中,值必须是以下数据类型之一:

  • 字符串
  • 数字
  • 对象(JSON 对象)
  • 数组
  • 布尔
  • null

在 JavaScript 中,以上所列均可为值,外加其他有效的 JavaScript 表达式,包括:

  • 函数
  • 日期
  • undefined

为什么 JSON 比 XML 更好?

  • XML 比 JSON 更难解析。
  • JSON 被解析为可供使用的 JavaScript 对象。

对于 AJAX 应用程序,JSON 比 XML 更快更易用:

使用 XML

  • 读取 XML 文档
  • 使用 XML DOM 遍历文档
  • 提取变量中存储的值

使用 JSON

  • 读取 JSON 字符串
  • JSON.Parse JSON 字符串

josn应用:

新建一个javaweb工程JsonPro

并新建一个servlet文件:

import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") @WebServlet("/JServlet") public class JServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String s = "{\"name\":\"zhangsan\", \"age\":18 , \"sex\":\"nan\"}"; response.getWriter().print(s); System.out.print(s); } }

给客户端传入json格式的字符串;

然后新建JSP文件:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON</title>
<script> window.onload = function(){ // 找到按钮以触发事件
    var btn = document.getElementById("btn"); var h3 = document.getElementById("h3"); btn.onclick = function(){ // 创建异步对象
        var xp = new XMLHttpRequest(); // 打开连接
 xp.open("GET","/JsonPro/JServlet",true); // 发送请求
 xp.send(null); // 状态变化事件
 xp.onreadystatechange = function(){ if(xp.readyState == 4 && xp.status == 200){ // 接收响应的值
                var text = xp.responseText; // 执行json
                var person = eval("(" + text + ")"); var s = person.name + "" + person.age + "" + person.sex; h3.innerHTML = s; } } } } </script>
</head>
<body>
    <h1> Josn -- HelloWorld </h1>
    <button id="btn">点击按钮</button>
    <h3 id="h3"></h3>
</body>
</html>

上面的eval()方法可以使用Function()来代替:

var person = new Function('return' + text )();

搞定,运行:

ajax数据传输方式_ajax获取json点击:

ajax数据传输方式_ajax获取json 

 

 

今天的文章ajax数据传输方式_ajax获取json分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/53105.html

(0)
编程小号编程小号
上一篇 2023-08-30
下一篇 2023-08-30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注