zoukankan      html  css  js  c++  java
  • Thinkphp5的ajax接口实现

    前一篇讲到thinkphp5从数据库获取数据之后赋给视图view,前一篇从数据渲染方式来说是服务端数据渲染,这一章则是浏览器端数据渲染。按照知识总结依据来划分,这是两种不同的技术场景。

    下面介绍具体的ajax接口实现代码。

    首先是html代码部分,我的访问地址为:http://app.write.com/thinkphp/public/index.php/index/index/api,这里没有省略入口文件,同时我本地的域名是app.write.com,tp5框架在thinkphp文件里面。这里采用原生ajax,没有做ie浏览器的兼容性,代码如下

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5     <meta charset="UTF-8">
     6     <title>ajax调用接口</title>
     7 </head>
     8 
     9 <body>
    10     11111
    11     <div id="test">
    12         
    13     </div>
    14     <script type="text/javascript">
    15     var oAjax = new XMLHttpRequest();
    16     oAjax.open('GET',"/thinkphp/public/index.php/index/index/apiapi?name=1");
    17     oAjax.onreadystatechange = function() {
    18         if (oAjax.readyState == 4) {
    19             if (oAjax.status >= 200 && oAjax.status < 300 || oAjax.status == 304) {
    20                console.log(oAjax.responseText);
    21                var data=JSON.parse(oAjax.responseText);
    22                document.getElementById("test").innerHTML=data.sex;
    23             } else {
    24                 console.log(oAjax.status);
    25             }
    26         }
    27     };
    28     oAjax.send();
    29     </script>
    30 </body>
    31 
    32 </html>

    对上述代码做一下解释,算是一个小知识点:一般来说可以将http状态代码为200作为成功的标志,此时responseText的属性的内容已经就绪。此外状态304表示请求的资源并没有被修改,可以直接使用浏览器中缓存的版本。

    至于为啥是大于200是出于兼容性的考虑,有的浏览器会报告204。

    后端代码如下,后端代码是同一个模块index下的同一个控制器下index的apiapi方法。

     1 <?php
     2 namespace appindexcontroller;
     3 //use thinkDb;
     4 use thinkController;
     5 class Index extends Controller
     6 {
     7 
     8      public function apiapi(){
     9         $name=$this->request->param();
    10         return json_encode($name);
    11         ///return "common";
    12     }
    13    
    14      public function api(){
    15        
    16         return view();
    17         ///return "common";
    18     }
    19 }

    代码首先获取ajax获取的参数,之后返回到前端。

    本文结束。

  • 相关阅读:
    win7 windows server 2008R2下 https SSL证书安装的搭配(搭配https ssl本地测试环境)
    (转载)数据库表设计-水电费缴费系统(oracle)
    考勤系统——代码分析datagrid
    (转载)模拟银行自助终端系统
    Amazon验证码机器算法识别
    [译] 理解 LSTM 网络
    循环神经网络(RNN, Recurrent Neural Networks)介绍
    机器学习之线性分类器(Linear Classifiers)——肿瘤预测实例
    word2010无法显示endnote x7插件及破解endnote x7
    ubuntu16.04+caffe训练mnist数据集
  • 原文地址:https://www.cnblogs.com/zhensg123/p/8808950.html
Copyright © 2011-2022 走看看