首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    概述-处理 HTTP 请求

    处理 HTTP 请求 为了充分地使用 CodeIgniter,你需要对 HTTP 请求和响应的工作方式有基本的了解。对于所有想要成功的开发者来说, 理解 HTTP 背后的概念是 必须 的。...HTTP 响应 服务器收到请求后,你的 web 应用程序会处理这条信息然后输出一些响应结果。服务器会将你的响应结果打包为对 客户端的的你的响应结果打包为对客户端的响应的一部分。...它可以告诉客户端响应成功(200),或者找不到页面(404)等等。 在 IANA 可以找到 完整的响应状态码列表 。...变量 $request->getVar('foo'); $request->getGet('foo'); $request->getPost('foo'); // 从 AJAX 调用中检索 JSON...isAJAX() 和 isSecure() 函数会自动检查几种不同的 method 来 最后确定正确的答案。

    1.9K10

    讲解-启动流程

    \CodeIgniter进行初始化并返回 调用CodeIgniter\CodeIgniter->run()执行主流程并返回响应结果 入口文件 - public\index.php 检测 PHP...初始化核心框架类CI 实例化框架核心类 CI 并初始化,初始化主要做了以下事情 根据配置设置默认时区,未配置则默认UTC 通过Services实例化\CodeIgniter\Debug\Exceptions...System\bootstrap.php预定义常量及加载相关类库,然后对CodeIgniter\CodeIgniter进行初始化并返回 调用CodeIgniter\CodeIgniter->run()执行主流程并返回响应结果...初始化核心框架类CI 实例化框架核心类 CI 并初始化,初始化主要做了以下事情 根据配置设置默认时区,未配置则默认UTC 通过Services实例化\CodeIgniter\Debug\Exceptions...事件触发器 实例化Config\Cache,根据当前URI检测缓存,存在则直接输出响应结果 调用CI->handleRequest()处理请求,详细解析见下文 $this->handleRequest

    2.5K10

    CI一些优秀实践

    在客户端你能够通过单独发送HTTP头部使浏览器缓存页面来提高性能,当你使用 AJAX 的时候你也需要了解它来禁止浏览器缓存。...模板渲染不必每次都调用 header 与 footer 在 MY_Controller 头部和 __construct 函数中添加以下内容,用于设定默认的模版信息,其中 SITE_NAME 需要自己在...CodeIgniter的工作过程 当有一个http请求时,如http://www.google.com/blog/,首先进入CI的引导文件index.php。...codeigniter.php一上来就引入了三个文件:Common.php,Compat.php和config/constants.php,其中Common里包含了一些函数,用于载入类库的load_class...紧接着codeigniter载入了第一个类库,Benchmark,这个类库最简单的一个应用就是计算网页从开始到编译结束所花掉的时间,所以您在编译开始的地方打上一个标记,渲染结束后再打上一个标记,就可以算出其中花费的时间了

    3.4K50

    盘点7款顶级 PHP Web 框架

    Yii2 的优势:AJAX 支持;处理错误的有效工具;自定义默认设置;简单的第三方组件集成;强大的社区支持等。...4、CodeIgniter CodeIgniter 是十分适合开发动态网站的 PHP 框架。它是一个非常简单的轻量级 PHP 框架,大小只有 2 MB 左右。...它还具有这些增强的安全功能:SQL 注入预防;跨域请求(CSRF)保护;输入验证;跨站点脚本(XSS)保护;该框架带来了代码生成和脚手架功能,以加速开发过程。...此外,CakePHP还有其他优势:插件和组件的简易扩展;适当的类继承;零配置;现代框架;支持 AJAX;快速构建;内置验证等。...与其他框架相比,Phalcon(在最流行的 PHP 框架中)使用的资源非常少,从而可以快速处理 HTTP 请求。

    4.7K00

    创建发送异步通讯对象Ajax请求、数据回调及属性状态说明

    简单地说,AJAX是一种用异请求数据的技术,发送出请求以后,不需要刷新页面就可以更新当前浏览器内的数据或内容。...对象已创建,未调用 open ; 1:open 方法成功调用,但 Sendf 方法未调用; 2:send 方法已经调用,尚未开始接受数据; 3:正在接受数据。...200 表示“成功”; 404 表示“未找到”; 500 表示“服务器内部错误”等。 所以要判断异步请求成功并且服务器返回状态正常,再进行数据打印。所以应该这样写 ?...优化后的函数回调: //回调函数 function callback() {     if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status...(readyState 变化时会调用这个属性上注册的 JavaScript 函数)。

    1.8K10

    Ajax 请求的五大步骤

    Ajax 的工作原理 Ajax 的工作原理相当关于在用户和服务器之间加了一个中间层(Ajax 引擎),使用户操作与服务器响应异步化,并不是所有的用户请求都提交给服务器。...2、创建一个新的HTTP 请求,并指定该HTTP 请求的方法,URL及验证信息 3、设置响应HTTP请求状态变化的函数。 4、发送HTTP 请求。 5、获取异步调用返回的数据。...3、设置响应HTTP 请求状态变化的函数 创建完 HTTP 请求之后,就可以将HTTP请求发送给Web 服务器了,发送 HTTP 请求的目的是为了接受从服务器中返回的数据。...异步调用过程完毕,并不代表异步调用成功了,如果要判断异步调用是否成功,还要判断 XMLHttpRequest 对象的status属性值,只有status === 200 ,才表示异步调用成功。...function httpStateChange(){ if(xmlHttpRequest.readyState == 4){ //判断异步调用是否成功,若成功开始局部更新数据

    63830

    Ajax请求的五个步骤

    设置响应HTTP请求状态变化的函数 4、设置获取服务器返回数据的语句 5、发送HTTP请求 6、局部更新 三、完整的AJAX实例 Ajax请求的五个步骤 一、定义 1、什么是Ajax Ajax:即异步...创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. 设置响应HTTP请求状态变化的函数. 发送HTTP请求. 获取异步调用返回的数据....但是,异步调用过程完毕,并不代表异步调用成功了,如果要判断异步调用是否成功,还要判断XMLHttpRequest对象的status属性值,只有该属性值为200,才表示异步调用成功,因此,要获取服务器返回数据的语句...通常将以上代码放在响应HTTP请求状态变化的函数体内,如以下代码所示: //设置当XMLHttpRequest对象状态改变时调用的函数,注意函数名后面不要添加小括号 xmlHttpRequest.onreadystatechange.../ 判断异步调用是否成功,若成功开始局部更新数据 console.log('状态码为', xmlHttpRequest.status); if(xmlHttpRequest.status

    3.1K30

    前端基础-Ajax对象

    ,共其他地方引入调用 创建createXHR.js 将函数复制到文件 createXHR.js 内并保存, 如图: ?...状态码 * ** 0:表示对象已建立,但未初始化,只是 new 成功获取了对象,但是未调用open方法 1:表示对象已初始化,但未发送,调用了open方法,但是未调用send方法 2:已调用send...方法进行请求 3:正在接收数据(接收到一部分),客户端已经接收到了一部分返回的数据 **4:接收完成,客户端已经接收到了所有数据 * ** status :http响应状态码 200代表成功获取服务器端数据...) 获取全部响应头信息 xhr.getResponseHeader(‘key’) 获取指定头信息 send([content]) :发送Ajax请求 content : 如果是get请求时..., 厨师将小明的饭菜做好后,随时呼唤小明就餐;这就是异步处理 服务器的不同做法,就代表着 Ajax 的同步或异步处理; 小明就是客户端; 厨师就是后台服务器; 图示: ?

    78210

    JSP的原生Ajax与解析Json

    //调用ajax函数 ajax({ url:'....type:'POST', dataType:'json', data:{ name:"马各马它",age:18}, success:function(response,xml){ //请求成功后执行的代码...}, error:function(status){ //失败后执行的代码 } }); //创建ajax函数 function ajax(options){ options=options...状态码; statusText:HTTP状态的说明; XHR对象的readyState属性表示请求/响应过程的当前活动阶段,这个属性的值如下 0-未初始化,尚未调用open()方法; 1-启动,调用了...open()方法,未调用send()方法; 服务器连接已建立; 2-发送,已经调用了send()方法,未接收到响应; 请求已接收; 3-接收,已经接收到部分响应数据; 请求处理中; 4-完成,已经接收到全部响应数据

    1.5K20

    异步编程Ajax的详解,并对其进行封装整理

    ,这就可以通过上面表格中的 readyState 属性来判断了 readyState 属性一共有5个值,分别表示不同的请求响应阶段: 0: 还未创建请求,即未调用 open() 方法 1: 已调用 open...> { console.log(`请求成功,数据为${data}`) }) .catch(err => { console.log(`请求失败,状态为${err}`) }) 其调用的是一个综合的方法...promise 实现的,即该方法返回一个 promise 对象,在 then 函数中处理请求成功的情况,在 catch 函数中处理请求失败的情况 若没有了解过 promise 的小伙伴建议先花几分钟了解一下...url地址、携带的参数、成功回调函数、返回数据的类型 let $ = { // 动态生成XHR对象的方法 createXHR: function() { if(window.XMLHttpRequest...现在的大部分浏览器几乎都支持了在发送Ajax请求后,自动向请求头部添加当前的源信息 六、结束语 建议你们好好了解JS的Ajax的使用,这样在面试中问起来你还能说出个一二三,并且有时候面试官还会直接让你亲手写一个简单的

    1.7K20

    Ajax技术详解(上)

    JSONP的理念就是,与服务端约定好了一个回调函数名,服务端接收到请求后,将返回一段Javascript,在这段Javascript代码中调用约定好的回调函数,并且将数据作为参数进行传递。...当网页接收到这段Javascript代码后,就会执行这个回调函数,这时数据已经成功传输到客户端了。...,服务端接收到请求后,将返回一段Javascript, // 在这段Javascript代码中调用约定好的回掉函数,并且将数据作为参数进行传递. // 当网页接收到这段Javascript代码后,就会执行这个回掉函数...,服务端接收到请求后,将返回一段Javascript,在这段Javascript代码中调用约定好的回调函数,并且将数据作为参数进行传递。...当网页接收到这段Javascript代码后,就会执行这个回调函数,这时数据已经成功传输到客户端了。

    2K20

    jquery 操作ajax 相关方法

    发送给服务器的字符串后键值对     success() 当请求成功时回调的函数     dataType 从服务器返回的预期数据。   ...发送给服务器的字符串后键值对     success() 当请求成功时回调的函数   用法:     $.post("test.php", { name: "John", time: "...发送给服务器的字符串后键值对     complete 当请求成功时回调的函数   用法:   $('#result').load('ajax/test.html #container')...complete 类型:Function 请求完成后回调函数,(请求成功或失败时均调用)参数: XMLHttpRequest 对象,成功信息字符串。...success 类型:Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态。

    3.2K100

    高级前端:详解手写原生Ajax的实现

    ,这就可以通过上面表格中的 readyState 属性来判断了 readyState 属性一共有5个值,分别表示不同的请求响应阶段: 0: 还未创建请求,即未调用 open() 方法 1: 已调用 open...> { console.log(`请求成功,数据为${data}`) }) .catch(err => { console.log(`请求失败,状态为${err}`) }) 其调用的是一个综合的方法...promise 实现的,即该方法返回一个 promise 对象,在 then 函数中处理请求成功的情况,在 catch 函数中处理请求失败的情况 若没有了解过 promise 的小伙伴建议先花几分钟了解一下...url地址、携带的参数、成功回调函数、返回数据的类型 let $ = { // 动态生成XHR对象的方法 createXHR: function() { if(window.XMLHttpRequest...现在的大部分浏览器几乎都支持了在发送Ajax请求后,自动向请求头部添加当前的源信息 六、结束语 建议你们好好了解JS的Ajax的使用,这样在面试中问起来你还能说出个一二三,并且有时候面试官还会直接让你亲手写一个简单的

    1.8K20

    进阶 | 一份详细的AJAX与跨域处理讲解

    0 === 常量 UNSENT (未打开) open()方法未调用 1 === OPENED (未发送) 只是open()方法调用了 2 === HEADERS_RECEIVED (已获取响应头) send...同时也易于机器解析和生成。...这些键就是http请求的头的各个部分,以及一个成功函数和一个失败函数。...以上就是简化后的使用方法,给button绑定事件的时候,函数体直接就是ajax() 目前你会发现options这个对象傻傻的,因为总有一些用户不希望只传一个参数。所以我们稍微改造一下。...所以实际上jq的写法大多是这么写的 链式调用的意思就是:成功函数成功了,就执行第二个then的第一个函数;成功函数失败了,就执行第二个then的第二个函数。

    72010

    这次,我们聊聊ajax的创建过程

    ajax:一种客户端向服务器请求数据的方式,不需要去刷新整个页面; ajax的核心:XMLHttpRequest对象 下面是我简单封装的一个函数: ajax({ url:'',...:function(reponse,xml){ //此处放成功后执行的代码 }, fail:function(status){ //此处放失败后执行的代码 } }); function...() :用于对 URI 中的某一部分进行编码,会对它发现的任何非标准字符进行编码;其对应的解码函数 decodeURIComponent(); 3.接收 3.1、接收到响应后,响应的数据会自动填充XHR.../响应过程的当前活动阶段,这个属性的值如下 0-未初始化,尚未调用open()方法; 1-启动,调用了open()方法,未调用send()方法; 2-发送,已经调用了send()方法,未接收到响应; 3...3.3、在readystatechange事件中,先判断响应是否接收完成,然后判断服务器是否成功处理请求,xhr.status 是状态码,状态码以2开头的都是成功,304表示从缓存中获取。

    4.2K690

    -控制器

    控制器是你整个应用的核心,因为它们决定了 HTTP 请求将被如何处理。 什么是控制器? 让我们试试看:Hello World!...echo $sandals; echo $id; } } 重要 如果你使用了 URI 路由 ,传递到你的方法的参数将是路由后的参数...这个参数可以使用 PHP 的 call_user_func_array() 函数来模拟 CodeIgniter 的默认行为。...构造函数 如果你打算在你的控制器中使用构造函数,你 必须 将下面这行代码放在里面:: parent::__construct(…$params); 原因是你的构造函数将会覆盖父类的构造函数,所以我们要手工的调用它...构造函数没有返回值,但是可以执行一些默认操作。 包含属性 你创建的每一个 controller 都应该继承 CodeIgniter\Controller 类。这个类提供了适合所有控制器的几个属性。

    3.6K20
    领券