Thinkphp5框架ajax接口實(shí)現(xiàn)方法分析
文章主要介紹了Thinkphp5框架ajax接口實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP5 ajax交互相關(guān)操作技巧,需要的朋友可以參考下前一篇講到thinkphp5從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)之后賦給視圖...
文章主要介紹了Thinkphp5框架ajax接口實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP5 ajax交互相關(guān)操作技巧,需要的朋友可以參考下
前一篇講到thinkphp5從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)之后賦給視圖view ,前一篇從數(shù)據(jù)渲染方式來(lái)說(shuō)是服務(wù)端數(shù)據(jù)渲染,這一章則是瀏覽器端數(shù)據(jù)渲染。按照知識(shí)總結(jié)依據(jù)來(lái)劃分,這是兩種不同的技術(shù)場(chǎng)景。
下面介紹具體的ajax接口實(shí)現(xiàn)代碼。
首先是html代碼部分,我的訪問(wèn)地址為:http://app.write.com/thinkphp/public/index.php/index/index/api,這里沒(méi)有省略入口文件,同時(shí)我本地的域名是app.write.com,tp5框架在thinkphp文件里面。這里采用原生ajax,沒(méi)有做ie瀏覽器的兼容性,代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ajax調(diào)用接口</title>
</head>
<body>
11111
<div id="test">
</div>
<script type="text/javascript">
var oAjax = new XMLHttpRequest();
oAjax.open('GET',"/thinkphp/public/index.php/index/index/apiapi?name=1");
oAjax.onreadystatechange = function() {
if (oAjax.readyState == 4) {
if (oAjax.status >= 200 && oAjax.status < 300 || oAjax.status == 304) {
console.log(oAjax.responseText);
var data=JSON.parse(oAjax.responseText);
document.getElementById("test").innerHTML=data.sex;
} else {
console.log(oAjax.status);
}
}
};
oAjax.send();
</script>
</body>
</html>
對(duì)上述代碼做一下解釋?zhuān)闶且粋€(gè)小知識(shí)點(diǎn):一般來(lái)說(shuō)可以將http狀態(tài)代碼為200作為成功的標(biāo)志,此時(shí)responseText的屬性的內(nèi)容已經(jīng)就緒。此外狀態(tài)304表示請(qǐng)求的資源并沒(méi)有被修改,可以直接使用瀏覽器中緩存的版本。
至于為啥是大于200是出于兼容性的考慮,有的瀏覽器會(huì)報(bào)告204。
后端代碼如下,后端代碼是同一個(gè)模塊index下的同一個(gè)控制器下index的apiapi方法。
<?php
namespace app\index\controller;
//use think\Db;
use think\Controller;
class Index extends Controller
{
public function apiapi(){
$name=$this->request->param();
return json_encode($name);
///return "common";
}
public function api(){
return view();
///return "common";
}
}
代碼首先獲取ajax獲取的參數(shù),之后返回到前端。
- Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法
- Web端進(jìn)行PHP代碼函數(shù)覆蓋率測(cè)試的解決方案
- PHP開(kāi)發(fā)者應(yīng)該學(xué)習(xí)、會(huì)用10個(gè)PHP7新特性
- 使用者PHP圖表包裝程序創(chuàng)建漂亮的圖表的方法
- PHP單例模式模擬Java Bean實(shí)現(xiàn)方法示例詳解
- PHP圖像處理繪圖、水印、驗(yàn)證碼、圖像壓縮技術(shù)實(shí)例總
- PHP實(shí)現(xiàn)高清晰度無(wú)損圖片壓縮功能的代碼
- 用PHP處理png圖片白色背景色改為透明色的實(shí)例代碼
- 關(guān)于PHP往mysql數(shù)據(jù)庫(kù)中批量插入數(shù)據(jù)實(shí)例教程
- Php兩點(diǎn)地理坐標(biāo)距離的計(jì)算方法和具體代碼
Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法
文章主要介紹了Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法,涉及thinkPHP5數(shù)據(jù)庫(kù)配置、讀取、模型操作及視圖調(diào)用相關(guān)操作技巧,需要的朋友可以參考下。這是學(xué)習(xí)thinkhp5的...
Web端進(jìn)行PHP代碼函數(shù)覆蓋率測(cè)試的解決方案
PHPUnit和Spike PHPCoverage提供了一套基于xdebug的代碼覆蓋率測(cè)試方案。在本文中,我將針對(duì)自己碰到的特定業(yè)務(wù)場(chǎng)景,講述一下自己進(jìn)行PHP代碼函數(shù)覆蓋率測(cè)試的解決方案。...
PHP開(kāi)發(fā)者應(yīng)該學(xué)習(xí)、會(huì)用10個(gè)PHP7新特性
本文主要總結(jié)了10個(gè)PHP7特性,這些PHP特性對(duì)于PHP開(kāi)發(fā)者來(lái)說(shuō)都是應(yīng)該學(xué)習(xí)和使用的,一起來(lái)學(xué)習(xí)下:...
使用者PHP圖表包裝程序創(chuàng)建漂亮的圖表的方法
這篇文章中,我將講解如何一步一步使用PHP,F(xiàn)usionCharts的核心JavaScript圖表庫(kù),以及它的PHP圖表包裝程序創(chuàng)建漂亮的圖表。...
PHP單例模式模擬Java Bean實(shí)現(xiàn)方法示例詳解
實(shí)例講述了PHP單例模式模擬Java Bean實(shí)現(xiàn)方法,介紹PHP單例模式模擬Java Bean實(shí)現(xiàn)方法,涉及php面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)操作技巧,需要的朋友可以參考下。...
PHP圖像處理繪圖、水印、驗(yàn)證碼、圖像壓縮技術(shù)實(shí)例總結(jié)
文章主要介紹了PHP圖像處理技術(shù),結(jié)合實(shí)例形式總結(jié)分析了php繪圖、水印、驗(yàn)證碼、圖像壓縮等相關(guān)函數(shù)、功能與圖形繪制實(shí)現(xiàn)技巧,需要的朋友可以參考下:1、繪圖 場(chǎng)景:...
PHP實(shí)現(xiàn)高清晰度無(wú)損圖片壓縮功能的代碼
經(jīng)常會(huì)用到把上傳的大圖片壓縮,特別是體積,在微信等APP應(yīng)用上,也默認(rèn)都是有壓縮的,那么,怎么樣對(duì)圖片大幅度壓縮卻仍能保持較高的清晰度呢?...
用PHP處理png圖片白色背景色改為透明色的實(shí)例代碼
文章主要介紹了php 處理png圖片白色背景色改為透明色的實(shí)例代碼,文中通過(guò)實(shí)例代碼給大家介紹了用PHP的GD庫(kù)把圖片的背景替換成透明背景,需要的朋友參考下...
關(guān)于PHP往mysql數(shù)據(jù)庫(kù)中批量插入數(shù)據(jù)實(shí)例教程
文章主要給大家介紹了關(guān)于php往mysql中批量插入數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧...
Php兩點(diǎn)地理坐標(biāo)距離的計(jì)算方法和具體代碼
文章主要為大家詳細(xì)介紹了php兩點(diǎn)地理坐標(biāo)距離的計(jì)算方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下php計(jì)算兩點(diǎn)地理坐標(biāo)距離的具體代碼,具體內(nèi)容如下功能:根據(jù)圓周率和...