errorHandler 配置(整个 frontend 都是接口,不需要 html 的响应格式) 9、将内容协商配置到引导文件中(因为整个 frontend 都需要) 'bootstrap' => [.../json' => yii\web\Response::FORMAT_JSON, 'application/xml' => yii\web\Response::FORMAT_XML..., //api 端目前只需要json 和 xml //还可以增加 yii\web\Response 类内置的响应格式,或者自己增加响应格式...Response::EVENT_BEFORE_SEND => 'beforeSend', ]; } // 注意 beforeSend 是行为的成员函数,而不是绑定的类的成员函数...命令: curl -s -H Accept:application/json http://local.rest.com/v1/goods/search 返回: {"code":20,"msg":"ok
细读Yii2的Response 一个完整的网络请求,最后都需要一个符合协议的返回。Yii2在处理web请求之后,统一通过web/Response处理返回。...创建Response对象,设置Resonse响应格式json,html,xml等 触发前置事件,暴露操给开发者在输出前对数据进行调整等 数据格式化。...将所有response的内容更加输出格式转换成响应的字符串,并确定http返回码。 设置响应头。输出所有自定会返回头和标注http协议返回头。 输出内容。将字符串内容输出,并刷新缓冲区 触发后置事件。...在web/Response 文件中定义了状态码数组,几乎涵盖了所有的http状态码,并给出了标注的状态码文字说明。如果想了解http状态码,看Yii2的Response文件就足够了。...发送文件每次最多读取8M数据,防止占用过大内存 数据格式,支持多种数据格式html,json,xml并可以指定ResponseFormatter对数据格式进行扩展 Cookie处理,Yii2的请求Cooke
YII2中的行为说白了就是对组件功能的扩展,在不改变继承关系的条件下。 行为附加到组件后,行为将注入自已的方法和属性到组件,可以像组件访问自定义的方法和属性一样访问行为。...这里我们有两个控制器一个GoodsController,一个OrderController,他们都接收请求,返回数据给客户端,不过有的需要返回json,有的需要返回xml。...; } } 然后我们在两个控制器中配置...xml,我们重新设置为html $this ->getBehavior(...xml,我们重新设置为html $this ->getBehavior(
创建一个Web 应用 这还是一篇关于Web安全的文章,但是也得先有个简单的HTTP请求响应。我们先弄一个可以返回JSON的Controller。...Spring Boot会根据应用中声明的第三方依赖来自动配置Spring框架,而不需要进行显式的声明。 Spring Boot推荐采用基于Java注解的配置方式,而不是传统的XML。...这个类只是让返回的JSON结果变为三部分: status - 返回状态码 0 代表正常返回,其他都是错误 message - 一般显示错误信息 result - 结果集 class JSONResult...,你会发现这里的JSON返回时,Chrome的格式化插件好像并没有识别?...(Hash-based Message Authentication Code)计算信息摘要,也可以用RSA公私钥中的私钥进行签名。
比如,number 验证器就支持 tooBig 和 tooSmall 两种错误消息用于分别返回输入值是太大还是太小。你也可以像配置验证器的 其他属性一样配置它们俩各自的错误信息。...你可以重写该方法或者响应此事件,来在验证开始之前,先进行一些预处理的工作。 (比如,标准化数据输入)该方法应该返回一个布尔值,用于标明验证是否通过。...你可以重写该方法或者响应此事件,来在验证结束之后, 再进行一些收尾的工作。...你只需要用 yii\widgets\ActiveForm 的方式构建 HTML 表单即可。...在具体实践中, 你可以使用 in 核心验证器来达到同样的目的。
特点从浏览器发出XMLHttpRequests从node.js发出http请求支持Promise API拦截请求和响应转换请求和响应数据取消请求JSON数据的自动转换客户端支持防止XSRF引出问题,什么是...XMLHttpRequest 在 AJAX 编程中被大量使用。尽管名称如此,XMLHttpRequest 可以用于获取任何类型的数据,而不仅仅是 XML。...XML设计是用来传送和携带数据信息,不用于表现和展示数据,HTML则用来表现数据,所以XML用途的焦点是在于说明数据是什么以及携带数据信息。 但是 XML 及其扩展经常因冗长、复杂和冗余而受到批评。...JSON、YAML和S-Expressions经常被提出作为更简单的替代方案,它们专注于表示高度结构化的数据而不是文档,文档可能同时包含高度结构化和相对非结构化的内容。...Fetch 使用起来很简单,它返回的是一个 Promise,即使你没有 XHR 的开发经验也能快速上手。
","https"]] String 字符串 基础用法 一个字符串中单词数量 StringHelper::countWords("hello world");//2 返回路径中的文件名部分...被封装成Yii的一个组件,你可以通过Yii::$app->response轻松的访问它。...sort=id,-username HTTP状态码 200: OK。一切正常。 201: 响应 POST 请求时成功创建一个资源。...204: 该请求被成功处理,响应不包含正文内容 (类似 DELETE 请求)。 304: 资源没有被修改。可以使用缓存的版本。 400: 错误的请求。...请检查响应体内详细的错误消息。 429: 请求过多。 由于限速请求被拒绝。 500: 内部服务器错误。 这可能是由于内部程序错误引起的。
它可以使用JSON,XML,HTML和text文本等格式发送和接收数据。AJAX最吸引人的就是它的“异步”特性,也就是说它可以在不重新刷新页面的情况下与服务器通信,交换数据,或更新页面。...此外,如果不使用函数名的方式,你还可以用JavaScript的匿名函数响应处理的动作,就像下面这样: httpRequest.onreadystatechange = function(){ /...第二个参数是你要发送的URL。由于安全原因,默认不能调用第三方URL域名。 确保你在页面中使用的是正确的域名,否则在调用 open() 方法是会有 “permission denied” 错误提示。...一个容易犯的错误是企图通过 domain.tld 访问网站, 而不是使用 www.domain.tld。 第三个参数是可选的,用于设置请求是否是异步的。...HTTP响应码后, 就可以用服务器返回的数据做任何你想做的了。
它可以使用JSON,XML,HTML和文本等多种格式发送和接收。AJAX最吸引人的就是它的“异步”特性,也就是说他可以在不重新刷新页面的情况下与服务器通信,交换数据,更新页面。...HTTP响应码后, 你就可以用服务器返回的数据做任何你想做的了。...Note: 如果你向一个代码片段发送请求,将返回XML,而不是静态XML文件,在IE浏览器上则必须要设置响应头才能正常工作。...你也可以添加一个总是不同的 GET 参数,比如时间戳或者随机数 。 在通信错误的事件中(例如服务器宕机),在访问响应状态 onreadystatechange 方法中会抛出一个例外。...相应 在上一个例子中,在收到HTTP请求的响应后我们会请求对象的 responseText 属性,包含 test.html 文件的内容。
#这个消息实体,它返回的是这样: # #告诉你,这是个响应结果的消息实体。它的状态是200 #所有的东西都包装在这个实体里面了。如果要去看这些东西,就拆分开来看。...在请求的时候,输入的是整数还是什么,在代码里都是统一做字符串处理的,它不是一个整数。...# 我们返回的结果,如果说是html,xml,json格式的,可以用text格式去获取。 #如果说是html,xml,json格式的,都拿json去获取是会报错的。...#只有json类型的返回值才支持json。 #html和json在这里不可以直接转换,它们是不同的数据格式。 我们返回的结果,如果说是html,xml,json格式的,可以用text格式去获取。...如果说是html,xml,json格式的,都拿json去获取是会报错的。只有json类型的返回值才支持json,html和json在这里不可以直接转换,它们是不同的数据格式。
apiConfig : 接口定义的配置 defaultVersion : 默认的版本号 overviewHtml:文档页面overview的模板 docTitle:文档中心的标题 responseClass:响应的处理类..., 如果想实现输出xml格式,请继承wuyuxifeng\api\Response重写render方法,配置即可 errorHandlerClass:异常处理类,如果想实现默认的错误code不是500,...现支持下面几种认证方式 query: 请求参数中认证,即把token放在地址中 http://server.example.com/apiurl?...token=token header: http请求头 X-Api-Key:token 下面是http协议的请求示例 GET /apiurl HTTP/1.1 Host: server.example.com...对于需要认证的接口中可以使用 Yii::$app->user->identity 获取用户的实例 returnJson() 返回示例,用于生成接口文档中的示例 json handle 的注解用来生成在线文档的返回字段
(AJAX)使用数据驱动而不是页面驱动。...XML一般作为从服务端接受数据的格式,当然也可以用包括 plain text 等 其他格式 AJAX中常使用的两种数据传输格式为:XML/JSON ,不过现在更多的是使用 JSON 格式,它作为一种轻量级的数据交换格式...JavaScript 负责整个流程的实现 看完了上面的说明, 我们可以看出来,AJAX不是指一种单一的技术,而是,利用了多种技术而产生的一种技术方案,上面提到的,主要依赖的技术也就是 HTML CSS...格式的响应,此属性返回一个XML文档对象 status 返回 HTTP 状态 (e.g., 404 for "Not Found" and 200 for "OK"). statusText 返回 HTTP...,xml, html, script, json, text, _default。
在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。...可用值: "xml": 返回 XML 文档,可用 jQuery 处理。 "html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。...如果服务器报告说返回的数据是 XML,那么返回的结果就可以用普通的 XML 方法或者 jQuery 的选择器来遍历。如果见得到其他类型,比如 HTML,则数据就以文本形式来对待。...除了单纯的 XML,还可以指定 html、json、jsonp、script 或者 text。 其中,text 和 xml 类型返回的数据不会经过处理。...如果服务器需要 HTTP 认证,可以使用用户名和密码可以通过 username 和 password 选项来设置。 Ajax 请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。
进来我尝试将ucenter整合到Yii网站中,获得了成功,虽然登录同步程序不是很妥当,基本使用没有问题了。我将继续改进。...transitional.dtd"> html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> xml_serialize($arr, $htmlon); } } 上面用到了xml.class.php这个类文件,可以在uc_client/lib目录找到。...12.然后我们在ucenter中添加yii应用的设置,修改main.php中的相应设置,应该就可以实现ucenter的同步登录、注册、退出、删除用户、修改用户名等等功能了!
jQuery ajax - ajax() 方法 「Axios」 axios不是原生JS的,需要进行安装,它不但可以在客户端使用,也可以在nodejs端使用。Axios也可以在请求和响应阶段进行拦截。...你只需要简单的创建一个请求对象实例,打开一个URL,然后发送这个请求。当传输完毕后,结果的[HTTP状态]以及返回的响应内容也可以从请求对象中获取。...●将内容通过fragment.body.innerHTML 注入到一个 文档片段 中,并遍历 DOM 中的片段。 ●如果你预先知道 HTML 文档的内容,你可以使用 RegExp。...请注意,fetch规范与jQuery.ajax()主要有两种方式的不同,牢记: ★ 当接收到一个代表错误的 HTTP 状态码时,从 fetch()返回的 Promise 不会被标记为 reject, 即使该...最简单的用法是只提供一个参数用来指明想fetch()到的资源路径,然后返回一个包含响应结果的promise(一个 Response 对象)。 当然它只是一个 HTTP 响应,而不是真的JSON。
一、REST 的基础知识 我敢打赌这并不是你第一次听到或读到REST这个词。...,包括XML、JSON(JavaScript Object Notation)甚至HTML——最适合资源使用者的任意形式; 状态(State):当使用REST的时候,我们更关注资源的状态而不是对资源采取的行为...在REST中,资源通过URL进行识别和定位。...-- exchange() :在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的。...-- execute() :在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象。
本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314....OPTIONS: 它是用来查询某个资源URI的可交互方式有哪些, 换句话说就是, 使用它可以知道某个URI是否可以执行GET或者POST动作, 这些结果通常是在响应的Headers里面而不是body里,...这就有问题了,如果查询不到资源,那么返回的应该是404 NOF FOUND 而不是200 OK....415 - Unsupported media type,这个和406正好返回来,比如说我向服务器提交数据的media type是xml的,而服务器只支持json,那么就会返回415 422 - Unprocessable...因为服务器(项目)现在不支持xml,所以返回了默认的json格式,但严格来说,这样做不正确,所以需要处理一下。 在Startup里,ConfigureServices方法: ?
本文将介绍 SpringMVC 中内容协商,可能有朋友听过,没听过的估计觉得很陌生,不管怎么样,先告诉你一点,这篇是非常重要的一个知识点,一定不要错误,坚持看完,一定会有大量收获,末尾有 pdf 版本,...2.3、测试场景 2 我们在 idea 中使用 Http Client 来访问一下上面这个接口,效果如下,返回的结果依然是 xml 格式的数据。...比如:服务器端可以响应 json 和 xml 格式的数据,而浏览器发送请求的时候告诉服务器说:我能够接收 html 和 json 格式的数据,那么最终会返回二者都能够支持的类型:json 格式的数据。...再比如:服务器端可以响应 json 和 html 格式的数据,而客户端发送 http 请求的时候,说自己希望接受 xml 格式的数据,此时服务器端没有能力返回 xml 格式的数据,最终会报错。...5.1、解释 简单点理解,媒体类型就是用来表示内容的格式,比如可以用来表示 http 请求体和响应体内容的格式。
JSON日期格式("\/Date(ticks)\/ ")而不是ISO 8601,可以在SerializerSettings上设置DateFormatHandling属性: var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter...如果喜欢,你可以将XmlMediaTypeFormatter配置成使用XmlSerializer而不是DataContractSerializer。...要改变类名在XML中的呈现,请在DataContract注解属性中设置Name参数。 要改变成员名在XML中的呈现,请设置DataMember注解属性中的Nmae参数。...这么做的主要原因是: 将你的Web API响应限制到特定的媒体类型。例如,你可能决定只支持JSON响应,而删除XML格式化器。 用一个自定义格式化器代替默认的格式化器。...例如,此例中Employee链接回Department并不是真正的需要。 为了保留XML中的对象引用,可以使用两个选项。
领取专属 10元无门槛券
手把手带您无忧上云