首页
学习
活动
专区
圈层
工具
发布

JSON与JSONP的区别

这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。 但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。...我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?...1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响...,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据; 5、这样子解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件...3、所以说,其实ajax与jsonp的区别不在于是否跨域,ajax通过服务端代理一样可以实现跨域,jsonp本身也不排斥同域的数据的获取。

2.2K20

快速理解 Axios

axios.head(url[, config]) axios.delete(url[, config]) POST系列: axios.post(url[,data[,OPTIONS]]) 【data:通过请求主体传递给服务器的内容...】 axios.put(url[,data[,OPTIONS]]) 常使用的请求配置: 是一些创建请求时可以用的配置选项,只有 URL 是必需的,若没有指定 method,请求方式将默认使用 get...headers:自定义设置请求头信息 params(get用它):等价于JQ中的DATA:会把PRAAMS中的内容基于URL问号传参的形式转为x-www-form-urlencoded格式(name=...responseType:预设服务器返回结果的格式,默认是 JSON(如果我们设置了RESPONSE-TYPE,AXIOS会根据设置的类型,把服务器返回的结果处理为对应的格式),支持的类型:BUFFER...REJECTED,并且将获取的结果或者错误原因作为PROMISE的VALUE值。

85410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    说说JSON和JSONP( 含jquery例子)

    说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?...这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。 但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。...我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?...1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响...,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据; 5、这样子解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件

    1.9K50

    说说JSON和JSONP,也许你会豁然开朗-转

    这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。   但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。...我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?...1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;   2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响...的纯字符数据格式可以简洁的描述复杂数据,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据;   5、这样子解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式...3、所以说,其实ajax与jsonp的区别不在于是否跨域,ajax通过服务端代理一样可以实现跨域,jsonp本身也不排斥同域的数据的获取。

    1.9K60

    程序员入职避免挨骂小知识-RESTful风格

    RIA 应用阶段:在这个阶段,出现了多种 RIA(Rich Internet Application)技术,大幅改善了 Web 应用的用户体验。应用最为广泛的 RIA 技术是 DHTML+Ajax。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。...6.2、@PathVariable 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中,URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx

    87930

    前端架构师之01_JavaScript_Ajax

    当服务器响应后,再来处理Ajax对象获取到的响应结果。 同步方式:是阻塞的,当Ajax对象向Web服务器发送请求后,会等待Web服务器响应的数据接收完成,再继续执行后面的代码。...此时可以通过responseText获取完整的响应 另外,Ajax状态的还可以通过“XMLHttpRequest.属性名”的方式获取。...-- 结束标签 --> 当服务器返回的是一个XML格式的数据时,利用Ajax对象的responseXML属性即可对XML数据进行处理。...数据格式 JSON:是一种轻量级的数据交换格式。...当需要发送多个JSONP请求时,无法区分每个回调函数。 为了解决这两个问题,我们可以编写代码实现自动生成一个随机的回调函数名,并在请求时将函数名传递给服务器,服务器在返回结果中调用指定的函数。

    1.2K10

    HTTP协议的基础

    1、HTTP瓶颈 2、Ajax 3、使用浏览器进行全双工通信的WebSocket 十、构建Web内容的技术 1、HTML+CSS+JavaScript 2、Web应用 3、数据格式 十一、Web攻击技术...1、针对Web的攻击技术 2、针对Web的攻击模式 3、密码激活成功教程 十二、参考资料 一、网络基础 1、TCP/IP协议族各层作用 应用层 决定了向用户提供应用服务时通信的活动 比如:FTP、DNS...307 Temporary Redirect 临时性重定向 400 Bad Request 请求语法错误 401 Unauthorized 认证失败 403 Forbidden 服务器拒绝 404 Not...Found 服务器没有请求的资源 500 Internal Server Error 服务器端执行请求错误 503 Server Unavailable 服务器超负载 五、HTTP协作的Web服务器...请求只能从客户端开始 请求、响应首部未经压缩就发生 发送冗余的首部 可任意选择数据压缩格式 2、Ajax Ajax(异步JavaScript和XML技术)操作DOM,以达到局部Web页面替换的异步通信手段

    1.8K10

    SpringMVC--框架学习

    一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。...字符串 大多数使用的场景,是需要向前端返回json格式的字符串,这里就需要用到json转化的工具。...但是反复调用json转换方法过于繁琐,因此SpringMVC可以帮助将返回的对象或集合直接转化为JSON格式的数据,这需要在spring-mvc.xml中配置处理器映射器: 的数据资源,还会请求存储在服务器上的静态资源(例如土图片),但是之前在前端控制器的配置中web.xml有可能设置了缺省,这就意味着,前端的静态资源请求也会通过前端控制器,进而去寻找相应的方法...username @RequestParam(value="name")表示可以将前端的name参数名映射为username 这时如果前端再传username的参数就会报400的错误 前端发的请求,其参数名为

    1.3K10

    Web基础知识

    POST方式适合向服务器发送数据。需要设置内容的编码格式,告知服务器用什么样的格式来解析数据。 Ajax对象发送请求的方法。...当服务器响应后,再来处理Ajax对象获取到的响应结果。 同步方式:是阻塞的,当Ajax对象向Web服务器发送请求后,会等待Web服务器响应的数据接收完成,再继续执行后面的代码。...此时可以通过responseText获取完整的响应 另外,Ajax状态的还可以通过“XMLHttpRequest.属性名”的方式获取。...-- 结束标签 --> 当服务器返回的是一个XML格式的数据时,利用Ajax对象的responseXML属性即可对XML数据进行处理。...当需要发送多个JSONP请求时,无法区分每个回调函数。 为了解决这两个问题,我们可以编写代码实现自动生成一个随机的回调函数名,并在请求时将函数名传递给服务器,服务器在返回结果中调用指定的函数。

    1.9K10

    开发一定要看的Ajax编程

    2.Ajax快速入门 ①:开发步骤 1).创建XMLHttpRequest对象 2).将状态触发器绑定到一个函数 3).使用open方法建立与服务器的连接 4).向服务器端发送数据 5).在回调函数中对返回数据进行处理...结合编程图解,我们将第一个案例的代码进行解剖: 3.三种不同服务器响应数据类型编程 常见的服务器响应数据类型:html片段、JSON格式数据、xml格式数据 ①:HTML片段的数据处理 练习1:验证用户名是否有效...,url一定要写对,否则返回数据时出现404错误!...}] 表示三个对象数组 JSON应用场景: AJAX请求参数和响应数据 问题: 服务器端如何生成 json格式数据------->>依赖第三方开源类库 ③:JSON-lib的使用 是java类库 ,支持...javabean map list array转换json格式字符串, 支持将json字符串转换javabean对象(反过来只支持这一种,使用很少) 在使用JSON-lib时必须导入至少5个jar包 开发时我们使用

    1.7K50

    Spring MVC 中的日期时间格式校验与异常处理

    在使用表单提交时,用户输入的日期时间会以字符串形式传递给后端。在后端处理时,需要将字符串转换为 Date 对象,这时就需要使用 @DateTimeFormat 来确保输入的字符串可以正确转换。...通过这种方式,你可以对日期时间格式错误进行友好处理,返回清晰的错误信息。...,我们返回了一个 ResponseEntity,不仅包含错误消息,还设置了 HTTP 状态码 BAD_REQUEST(400)。...通过 @DateTimeFormat 注解,我们可以轻松指定日期时间的格式,而通过全局异常处理器,我们可以捕获格式错误并返回友好的错误信息。...通过 @ControllerAdvice 全局异常处理器捕获格式错误,并返回用户友好的提示信息。 处理空值情况,确保未填写日期时间字段时程序不会崩溃。

    19110

    SSM学习笔记之SpringMVC

    4.4.1 请求行传值 表单提交method="get" URL提交 $.ajax请求的url传值 $.ajax({ url:这里拼接url,把参数放url就是请求行传值, type:...控制器方法的返回类型设置为响应给ajax请求的对象类型 在控制器方法前添加一个@ResponseBody注解,将返回的对象转换成json格式返回给ajax请求 如果一个控制器类中的所有方法都是响应ajax...如果前端需要输入日期数据,在控制器中转换成Date对象,SpringMVC要求前端输入的日期格式必须为yyyy/MM/DD 如果甲方要求日期格式必须为指定的格式,而这个指定格式SpringMVC不接受...在我们的应用系统运行的过程中,可能由于运行环境,用户操作,资源不足等各个方面的原因导致系统出现异常 (HTTP状态异常,Java异常Exception);如果系统出现了异常,这些异常将会通过浏览器呈现给用户...,而这种异常的显示是没有必要的, 因此我们可以在服务器进行特定的处理--当系统出现异常之后,呈现给用户一个统一的可读的提示页面 8.1 HTTP异常状态统一处理 HTTP Status 404

    8.8K20

    前端面试题ajax_前端性能优化面试题

    100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息 200 OK 正常返回信息 201 Created 请求成功并且服务器创建了新的资源...400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。 401 Unauthorized 请求未授权。 403 Forbidden 禁止访问。...、通过DNS解析获取网址的IP地址,设置 UA 等信息发出第二个GET请求; 4、进行HTTP协议会话,客户端发送报头(请求报头); 5、进入到web服务器上的 Web Server,如 Apache...GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。...非装饰性图片必须加alt 提高网站速度:网站速度是搜索引擎排序的一个重要指标 16、什么是Ajax和JSON,它们的优缺点 Ajax是异步JavaScript和XML,用于在Web页面中实现异步数据交互

    3.1K10

    Ajax向服务器端发送请求

    4 响应已经完成,可以获取并使用服务器响应了 xhr.readyState;//获取Ajax状态值 onreadstatechange事件 Ajax状态码发生变化的时候触发 // 当Ajax状态码发生变化时触发事件...5xx 服务端错误,服务器不能正确执行一个正确的请求 低版本浏览器缓存问题 由于缓存的存在,在请求地址不发生改变的情况下,只有第一次的数据请求会发送到服务器端,后续的请求都会从浏览器的缓存中获取 解决方法...(); //处理用户传入的data数据,拼接成特定的数据格式传递给服务器端 var params = ''; // 循环参数 for (var attr in defaults.data) {...responseText = JSON.parse(responseText); } // 如果请求成功 if (xhr.status == 200) { // 调用成功回调函数, 并且将服务器端返回的结果传递给成功回调函数..., xhr); } } // 当网络中断时 xhr.onerror = function () { // 调用失败回调函数并且将xhr对象传递给回调函数 defaults.error

    3.1K20

    java中的jQuery与Ajax的应用,菜鸟教程

    Ajax揭开了无刷新更新页面的新时代,并有代替系统的Web方式和通过隐藏的框架来进行异步提交的趋势,是Web开发应用的一个里程碑。...减轻服务器和宽带的负担 开发和调试工具的缺乏 2.Ajax的XMLHttpRequest对象 Ajax的核心是XMLHttpRequest对象,它是Ajax实现的关键——发送异步请求、接收响应及执行回调都是通过它来完成的...500——服务器产生内部错误 4.方法 labort()暂停请求,并重置到未初始化状态 lopen() 加载要链接的页面 lsend() 把该请求发送到服务器 说明:1)...如: {name:’zhangs’} callback:载入成功时回调函数(只有当Response的返回状态是success 才调用该方法)自动将请求结果和状态传递给该方法。...例如 function(dt){alert(dt)} type:服务器返回内容的格式,包括xml html script json text 例子: 页面搭建:

    2.2K30

    SpringMVC01之入门

    访问其它的静态资源(被springmvc拦截了) 附录一:在请求处理方法中添加@ResponseBody注解,将返回结果直接转换成JSON 附录二:解决JSON死循环问题 附录四:转换时指定属性名 人生的不如意...DispatcherServlet将ModelAndView传递给ViewReslover视图解析器,请求视图解析   9....ajax开发的数据绑定(即提交数据的类型为json格式) 注1:使用@RequestBody注解的时候,前台的Content-Type必须要改为application/json,            ...这些错误Eclipse下Tomcat是不会显示错误信息的,只有使用了日志才会显示 $.ajax({ url : "jsontest",...     日期格式化      数字格式化(使用较少) 附录四:转换时指定属性名 @JsonProperty("error_code")    人生的不如意,对每个人的当下来说,都是最好的安排

    1.7K20
    领券