为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Ajax全接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Ajax全接触

姜维 Web前端工程师
难度中级
时长 2小时10分
  • ajax全接触:笔记
    查看全部
  • Ajax开启疯狗模式
    查看全部
  • POST 请求
    查看全部
    0 采集 收起 来源:jQuery中的AJAX

    2016-06-20

  • GET请求
    查看全部
    0 采集 收起 来源:jQuery中的AJAX

    2016-06-20

  • document.getElementById("save").onclick=function(){ var request=new XMLHttpRequest(); request.open("POST","service.php"); var data = "name=" + document.getElementById("staffName").value + "&number=" + document.getElementById("staffNumber").value + "&sex=" + document.getElementById("staffSex").value + "&job=" + document.getElementById("staffJob").value; request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); request.send(data); request.onreadystatechange=function(){ if(request.readyState === 4){ if(request.status === 200){ var data=JSON.parse(request.responseText); if(data.success){ document.getElementById("createResult").innerHTML=data.msg; }else{ document.getElementById("createResult").innerHTML="出现错误:"+data.msg; } }else{ alert("发生错误:"+request.status); } } } } </script> 通过json字符串来传递消息,然后通过一些约定,然后这样我们就可以实现一些复杂的逻辑, 让前台和后天的交互和编写都变得更加的灵活,这就是json给我们带来的好处。
    查看全部
  • 我们的客户端也需要改造一下: 我们的客户端就不能直接输出服务器端的json文本了。 改变后的客户端的js代码: <script> document.getElementById("search").onclick=function(){ var request=new XMLHttpRequest(); request.open("GET","service.php?number="+document.getElementById("keyword").value); request.send(); request.onreadystatechange=function(){ if(request.readyState === 4){ if(request.status === 200){ var data=JSON.parse(request.responseText); if(data.success){ document.getElementById("searchResult").innerHTML=data.msg; }else{ document.getElementById("searchResult").innerHTML="出现错误:"+data.msg; } }else{ alert("发生错误:"+request.status); } } } }
    查看全部
  • 虽然json数据格式比较简短,语法也非常简单,但是我们写起来又是引号,问号和冒号,又是逗号,非常容易出错, 所以对json字符串进行格式化和校验就变得必不可少,这里有一款在线的json校验工具。地址是:http://jsonlint.com/ JSONLint是一个非常好的json格式化和校验工具。大部分格式化和校验工具都是调用它的API。 header("Content-Type: application/json;charset=utf-8");告诉服务器端,传给服务器的是json字符串。 接着呢,所有的返回值:我都采用了json的方式。 echo '{"success":false,"msg":"参数错误"}'; 参数错误:它的success肯定是false,然后msg是参数错误。 $result = '{"success":false,"msg":"没有找到员工。"}'; 没有找到员工,也是出错了,因为你找不到员工,然后它的success是false,msg是没有找到员工。 $result = '{"success":true,"msg":"找到员工:员工编号:' . $value["number"] . ',员工姓名:' . $value["name"] . ',员工性别:' . $value["sex"] . ',员工职位:' . $value["job"] . '"}'; 但是如果找了一个员工,就说明你的操作成功了。success是true,msg是员工的一些信息。 echo '{"success":false,"msg":"参数错误,员工信息填写不全"}'; return; } //TODO: 获取POST表单数据并保存到数据库 //提示保存成功 echo '{"success":true,"msg":"员工:' . $_POST["name"] . ' 信息保存成功!"}'; } 新建员工也是一样的,参数错误肯定是不对,如果参数都全,那就给它加一个标志:true。然后员工信息保存成功。 保存一下页面,这是对服务器端的一些改造。
    查看全部
  • 我们在浏览器的控制台中演示一下这两种方式: 首先定义一个json字符串: var jsondata='{"staff":[{"name":"红旗","age":70},{"name":"郭靖","age":35},{"name":"黄蓉","age":30}]}'; 然后定义一个jsonobj:我们通过eval的方式来解析这个字符串,怎么样来解析呢?通过如下方式来解析: var jsonobj=eval('('+jsondata+')'); 解析之后呢,可以alert其中的一个属性,staff是一个数组,所以我们取数组中的第一个数staff[0]的name, 回车。就会弹出老“红旗”。说明这样已经解析成功了。 接着用JSON.parse()的方式来解析:var jsonobj=JSON.parse(jsondata); 回车。效果是一样的。 再举个例子。假如把这个json字符串做一下改动: var jsondata='{"staff":[{"name":"红旗","age":alert(123)},{"name":"郭靖","age":35},{"name":"黄蓉","age":30}]}'; 使用eval方式页面上先弹出123,再弹出“红旗”,也就是说用eval不光解析了json字符串,而且还执行了json字符串中的 一些方法。 但是用JSON.parse()方法不会弹出任何信息,控制台抛出了一个错误。这个错误告诉我们,这个字符串是不合法的, 语法错误。 也就是用eval执行,它不回去看JSON字符串是否合法。而且JSON字符串中的一些js方法会直接执行。这是非常危险的, 作为js程序员应该牢记。在代码中,无论何时,使用eval都是非常危险的。除非你能确定eval的参数是自己可以控制的 是安全的,尤其是你用eval方法去执行第三方的数据,有可能会包含恶意代码。比如window.location转向了一个恶意的地址 所以在实际中尽量使用JSON.parse()去解析json的字符串。而且使用JSON.parse()还会预告给我们一些json字符串中的 一些语法错误。
    查看全部
  • JSON语法规则: 这是一个典型的JSON字符串,它首先是用大括号括起来————表示这是一个JSON对象,对象里面有个值对,这个值对的名称叫 staff,它的值是一个数组,这个数组又由许多小的JSON对象来组成,每个对象里面有两个属性, 一个json字符串是由刚才的语法规则拼凑出来的。 { "staff":[ {"name":"红旗","age":70}, {"name":"郭靖","age":35}, {"name":"黄蓉","age":30} ] } json的格式如何在js中进行解析呢? 一般在js中解析json,有两种方式: eval和JSON.parse 在代码中使用eval是很危险的!特别是用它执行第三方的JSON数据(其中可能含有恶意代码)时, 尽可能使用JSON.parse()方法解析字符串本身,该方法还可以捕捉JSON中的语法错误。
    查看全部
  • request.open('GET','get.php',true); request.send(); request.open('POST','get.php',true); request.setRequestHeader("Content-Type","Application/x-www-form-urlencoded"); request.send("name=king&sex=male");
    查看全部
  • var request; if (window.XMLHttpRequest){ request = new XMLHttpRequest(); }else{ request = new ActiveXObject("Microsoft.XMLHTTP"); }
    查看全部
    0 采集 收起 来源:Ajax-HTTP请求

    2018-03-22

  • JSON基本概念 JSON:JavaScript对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法,类似XML。它采用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析 和生成。 JSON是独立于语言的,也就是说不管什么语言,都可以解析json,只需要按照json的规则来就行。 JSON与XML比较: json的长度和xml格式比起来很短小 json读写的速度更快 json可以使用JavaScript内建的方法直接进行解析,转换成Javascript对象,非常方便。 JSON语法规则: JSON数据的书写格式是:名称/值对。 名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:比如 "name":"郭靖" json的值可以使下面这些类型: 数字(整数或浮点数),比如123,1.23 字符串(在双引号中) 逻辑值(true或false) 数组(在方括号中) 对象(在花括号中) null JSON语法规则: 这是一个典型的JSON字符串,它首先是用大括号括起来————表示这是一个JSON对象,对象里面有个值对,这个值对的名称叫 staff,它的值是一个数组,这个数组又由许多小的JSON对象来组成,每个对象里面有两个属性, 一个json字符串是由刚才的语法规则拼凑出来的。 { "staff":[ {"name":"红旗","age":70}, {"name":"郭靖","age":35}, {"name":"黄蓉","age":30} ] }
    查看全部
    0 采集 收起 来源:json基本概念

    2018-03-22

  • 我们需要在没有客户端的情况下,就对服务端的 一些请求进行一些测试,这是怎么样来做到的呢?我们通过一个工具fiddler工具,这个工具可以监听整个电脑所有发出的 HTTP请求,可以监听它们传入的值,和相应回来的值,当然在这里边它还可以去模拟浏览器向服务器发送请求的过程: 怎么使用呢? 在fiddler打开后的右边有个Composer的标签页,在里边把刚才的地址http://localhost:8080/ajaxdemo/test.php 这个服务的地址填写进去,请求选择GET请求,直接去execute执行之后,,左边就有一条记录,我们双击这条记录 看到返回的值是参数错误,也就是说我们没有加任何的参数,它返回了参数错误,就达到了我们的预期, 接着我们换一个POST请求,在POST请求要在上边的空白处加上:Content-Type: application/x-www-form-urlencoded 为什么要加上这句话呢?告诉服务器这是一个POST请求,请求的内容是用url的方式发送过来的,因为是post请求 页面上没有必要出现参数http://localhost:8080/ajaxdemo/test.php后边不跟参数,然后在下面的空白处填写 name=欧阳锋&number=104&sex=男&job=测试经理:这就是POST请求的正文requestBody,请求正文发送以后呢, (当ContentType没有设置或者设置了错误的值,服务器端也不会正确的解析,只有当我们把ContentType的值写正确的 时候再点击执行,才会出现:员工:欧阳锋 信息保存成功!) 通过这样一个工具,我们把后台请求已经测试完毕了。
    查看全部
  • PHP服务端的代码已经写完了,但是这个代码写的对不对呢,能不能顺利的执行呢,我们需要进行一下测试 这个所谓的测试 可不是我们把客户端Ajax请求各个事件都给写完之后,来对它进行测试,我们需要在没有客户端的情况下,就对服务端的 一些请求进行一些测试,这是怎么样来做到的呢?我们通过一个工具fiddler工具,这个工具可以监听整个电脑所有发出的 HTTP请求,可以监听它们传入的值,和相应回来的值,当然在这里边它还可以去模拟 在百度上搜索fiddler就可以下载到,直接安装, (http://www.imooc.com/learn/37)有专门讲解fiddler的使用方法, 大家在日常进行web开发的时候,有时候后台做好之后,总是等待依赖前台做好之后,可以去调试,其实完全没有必要 我们只需要约定好接口, 发送的报文和返回的报文,通过fiddler或者类似的工具,直接就可以进行调试了。不需要依赖前台 是否完成,
    查看全部
  • //在函数中使用$staff这样一个全局变量。我们需要这样global $staff;来定义一下,否则直接使用$staff会报错 //但是这种超全局变量就不会出现这种情况,我们在哪里都可以使用, global $staff;
    查看全部

举报

0/150
提交
取消
课程须知
只需要有基础的javascript语法知识,就可以很容易理解本课程哦
老师告诉你能学到什么?
通过本课程的学习,您可以了解到Ajax概念、HTTP请求概念、PHP简单语法、JSON数据格式、Ajax的原生和jQuery实现、跨域等知识,只需要一些时间,看似复杂的知识点,其实都是纸老虎,会被你一捅就破。您不但会了解Ajax的使用,而且会清楚Ajax的原理,并举一反三。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!