首页 web前端 js教程 使用原生ajax处理json字符串的方法

使用原生ajax处理json字符串的方法

May 23, 2018 am 11:33 AM
ajax javascript json

JSON的全称是 Javascript Object Notation(javascript对象表示法),是基于javascript对象字面量。这篇文章主要介绍了使用原生ajax处理json字符串的相关资料,需要的朋友可以参考下

AJAX

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。

什么是json?

JSON的全称是 Javascript Object Notation(javascript对象表示法),是基于javascript对象字面量,如果单从眼睛看,JSON里的数据是被保存在花括号里面-- {},如果在用途上面进一步分析,JSON是一种数据交换格式。JSON内部以 名称:值这种格式排列,如下面的json1,就是一个json对象。

1

var json1={"name":"李明","age":21,"sex":"boy"}

登录后复制

什么是json字符串?

如其字面意思,给json两边加上双引号(或者单引号),为了避免与内部的双引号冲突,我们这外面放单引号,就成了json字符串了,如下面的json2

1

var json2='{"name":"李明","age":21,"sex":"boy"}'

登录后复制

2.在我们的数据提供页面,输出我们的json,我们还是把数据提供页面称为tigong.php

代码如下:

1

2

3

4

<?php

header("content-type:text/html;charset=utf-8");

echo &#39;{"name":"黎明","age":"12","sex":"男"}&#39;;

?>

登录后复制

3.在我们的前端页面接收数据,并且使用eval方法将json字符串解析成为json对象,用for循环将它遍历出来。我们称这个页面为testJsonEvel.html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <script type="text/javascript">

    window.onload=function(){

      var p1=document.getElementById("p1");

      var bt1=document.getElementById("bt1");

      bt1.onclick=function(){

        //创建ajax对象,写兼容

        if(window.XMLHttpRequest){

          var xmlHttp=new XMLHttpRequest();

        }else{

          var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        };

        //获取要发送的数据,我们这个例子没有

        //设置发送数据的地址和方法

        xmlHttp.open("POST","tigongjson.php");

        //设置我们的请求头信息

        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

        //绑定onreadystatechange事件

        xmlHttp.onreadystatechange=function(){

          if(xmlHttp.readyState==4 && xmlHttp.status==200){

            var data=xmlHttp.responseText;

            //json字符串转换成为json对象

            data=eval("("+data+")");

            var str="";

            str+="姓名:"+data.name+"<br>";

            str+="年龄:"+data.age+"<br>";

            str+="性别:"+data.sex

            p1.innerHTML=str;

          };

        };

        //发送数据

        xmlHttp.send();

      };

    };

  </script>

  <style type="text/css">

    #p1{

      width:200px;

      height:200px;

      background:#f00;

      color:#fff;

    }

    img{

      width:200px;

    }

  </style>

  <title>Document</title>

</head>

<body>

  <p id="p1">

    <img src="../php2/images/1.gif">

  </p>

  <br>

  <button id="bt1">点击获取json数据</button>

</body>

</html>

登录后复制

evel不存在兼容性问题,但是会有安全漏洞。

效果如图:

4.使用JSON.parse方法将json字符串解析称为json对象,我们把这个页面称为testJsonParse.html,代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <script type="text/javascript">

    window.onload=function(){

      var p1=document.getElementById("p1");

      var bt1=document.getElementById("bt1");

      bt1.onclick=function(){

        //创建ajax对象,写兼容

        if(window.XMLHttpRequest){

          var xmlHttp=new XMLHttpRequest();

        }else{

          var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

        };

        //获取要发送的数据,我们这个例子没有

        //设置发送数据的地址和方法

        xmlHttp.open("POST","tigongjson.php");

        //设置我们的请求头信息

        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

        //绑定onreadystatechange事件

        xmlHttp.onreadystatechange=function(){

          if(xmlHttp.readyState==4 && xmlHttp.status==200){

            var data=xmlHttp.responseText;

            //json字符串转换成为json对象

            data=JSON.parse(data);

            var str="";

            str+="姓名:"+data.name+"<br>";

            str+="年龄:"+data.age+"<br>";

            str+="性别:"+data.sex

            p1.innerHTML=str;

          };

        };

        //发送数据

        xmlHttp.send();

      };

    };

  </script>

  <style type="text/css">

    #p1{

      width:200px;

      height:200px;

      background:#f00;

      color:#fff;

    }

    img{

      width:200px;

    }

  </style>

  <title>Document</title>

</head>

<body>

  <p id="p1">

    <img src="../php2/images/1.gif">

  </p>

  <br>

  <button id="bt1">点击获取json数据</button>

</body>

</html>

登录后复制

JSON.parse不存在安全漏洞,但是会有兼容性,IE8及以下不支持。

效果如图

 

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

聊聊Ajax提交form表单的看法和认识

通过数据库和ajax方法写出地图的实例代码

Ajax 通过城市名获取数据

以上是使用原生ajax处理json字符串的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1672
14
CakePHP 教程
1428
52
Laravel 教程
1332
25
PHP教程
1277
29
C# 教程
1257
24
PHP 与 Ajax:构建一个自动完成建议引擎 PHP 与 Ajax:构建一个自动完成建议引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax构建自动完成建议引擎:服务器端脚本:处理Ajax请求并返回建议(autocomplete.php)。客户端脚本:发送Ajax请求并显示建议(autocomplete.js)。实战案例:在HTML页面中包含脚本并指定search-input元素标识符。

PHP 数组转 JSON 的性能优化技巧 PHP 数组转 JSON 的性能优化技巧 May 04, 2024 pm 06:15 PM

PHP数组转JSON的性能优化方法包括:使用JSON扩展和json_encode()函数;添加JSON_UNESCAPED_UNICODE选项以避免字符转义;使用缓冲区提高循环编码性能;缓存JSON编码结果;考虑使用第三方JSON编码库。

Jackson库中注解如何控制JSON序列化和反序列化? Jackson库中注解如何控制JSON序列化和反序列化? May 06, 2024 pm 10:09 PM

Jackson库中的注解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略属性@JsonProperty:指定名称@JsonGetter:使用获取方法@JsonSetter:使用设置方法反序列化:@JsonIgnoreProperties:忽略属性@JsonProperty:指定名称@JsonCreator:使用构造函数@JsonDeserialize:自定义逻辑

如何使用Ajax从PHP方法中获取变量? 如何使用Ajax从PHP方法中获取变量? Mar 09, 2024 pm 05:36 PM

使用Ajax从PHP方法中获取变量是Web开发中常见的场景,通过Ajax可以实现页面无需刷新即可动态获取数据。在本文中,将介绍如何使用Ajax从PHP方法中获取变量,并提供具体的代码示例。首先,我们需要编写一个PHP文件来处理Ajax请求,并返回所需的变量。下面是一个简单的PHP文件getData.php的示例代码:

深入了解PHP:JSON Unicode转中文的实现方法 深入了解PHP:JSON Unicode转中文的实现方法 Mar 05, 2024 pm 02:48 PM

深入了解PHP:JSONUnicode转中文的实现方法在开发中,我们经常会遇到需要处理JSON数据的情况,而JSON中的Unicode编码在一些场景下会给我们带来一些问题,特别是当需要将Unicode编码转换为中文字符时。在PHP中,有一些方法可以帮助我们实现这个转换过程,下面将介绍一种常用的方法,并提供具体的代码示例。首先,让我们先了解一下JSON中Un

PHP 与 Ajax:创建动态加载内容的解决方案 PHP 与 Ajax:创建动态加载内容的解决方案 Jun 06, 2024 pm 01:12 PM

Ajax(异步JavaScript和XML)允许在不重新加载页面情况下添加动态内容。使用PHP和Ajax,您可以动态加载产品列表:HTML创建一个带有容器元素的页面,Ajax请求加载数据后将数据添加到该元素中。JavaScript使用Ajax通过XMLHttpRequest向服务器发送请求,从服务器获取JSON格式的产品数据。PHP使用MySQL从数据库查询产品数据,并将其编码为JSON格式。JavaScript解析JSON数据,并将其显示在页面容器中。点击按钮触发Ajax请求,加载产品列表。

如何使用 PHP 函数处理 JSON 数据? 如何使用 PHP 函数处理 JSON 数据? May 04, 2024 pm 03:21 PM

PHP提供了以下函数来处理JSON数据:解析JSON数据:使用json_decode()将JSON字符串转换为PHP数组。创建JSON数据:使用json_encode()将PHP数组或对象转换为JSON字符串。获取JSON数据的特定值:使用PHP数组函数访问特定值,例如键值对或数组元素。

如何在 Golang 中将 JSON 数据保存到数据库中? 如何在 Golang 中将 JSON 数据保存到数据库中? Jun 06, 2024 am 11:24 AM

可以通过使用gjson库或json.Unmarshal函数将JSON数据保存到MySQL数据库中。gjson库提供了方便的方法来解析JSON字段,而json.Unmarshal函数需要一个目标类型指针来解组JSON数据。这两种方法都需要准备SQL语句和执行插入操作来将数据持久化到数据库中。

See all articles