LNMP 1、Linux 2、Nginx 3、MySQL 4、PHP
APP接口 客户端与服务端数据的交换
HTTP通讯三要素 1、URL 地址 2、Method 方式 3、Params 内容
客户端传递参数 1、URl参数 GET 2、Request Body POST (1)form-url (2)form-data (3)json
环境搭建环境要求 PHP >= 7.0.0
全局安装composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
配置路径
cat ~/.bash_profile
# composer
export PATH=$PATH:$HOME/.composer/vendor/bin
安装 Laravel
composer global require "laravel/installer"
创建新应用
laravel new blog
本地开发服务器
php artisan serve
http://localhost:8000
jquery.ajaxjQuery.ajax([settings])
type 类型:String 默认值: “GET”。请求方式 POST/GET/PUT/DELETE
url 类型:String 默认值: 当前页地址。发送请求的地址
contentType 类型:String 默认值: “application/x-www-form-urlencoded”。发送信息至服务器时内容编码类型。
data 类型:String 发送到服务器的数据
dataType 类型:String 预期服务器返回的数据类型。xml/html/script/json/jsonp/text
success 类型:Function 请求成功后的回调函数。
jsonp 类型:String 在一个 jsonp 请求中重写回调函数的名字
jsonpCallback 类型:String 为 jsonp 请求指定一个回调函数名
ajax发送各种请求
Document
hello
var data = {
"name": "Tom",
"age": 23
};
// 发送GET请求
$.ajax({
type: "GET",
url: "/api/get",
dataType: "json",
data: data,
success: function(data) {
console.log(data);
}
});
// 发送POST请求
// Content-Type: application/x-www-form-urlencoded; charset=UTF-8
$.ajax({
type: "POST",
url: "/api/post-form",
dataType: "json",
data: data,
success: function(data) {
console.log(data);
}
});
// 发送POST请求 不编码
// Content-Type: multipart/form-data; charset=UTF-8
var formData = new FormData();
formData.append("name", "Tom");
formData.append("age", "23");
$.ajax({
type: "POST",
url: "/api/post-form-data",
dataType: "json",
contentType: false,
processData: false,
data: formData,
success: function(data) {
console.log(data);
}
});
// 发送json数据
// Content-Type: application/json; charset=UTF-8
$.ajax({
type: "POST",
url: "/api/post-json",
dataType: "json",
contentType: 'application/json; charset=UTF-8',
data: JSON.stringify(data),
success: function(data) {
console.log(data);
}
});
// 发送jsonp数据
$.ajax({
type: "GET",
url: "/api/get-jsonp",
dataType: "jsonp",
data: data,
success: function(data) {
console.log(data);
}
});
PHP后端接收参数
routes/web.php
Route::get('/', function () {
// return view('welcome');
return view('index');
});
routes/api.php
Route::get('/get', function () {
$name = $_GET["name"];
$age = $_GET["age"];
echo json_encode([$name => $age]);
});
Route::post('/post-form', function () {
$name = $_POST["name"];
$age = $_POST["age"];
echo json_encode([$name => $age]);
});
Route::post('/post-form-data', function () {
$name = $_POST["name"];
$age = $_POST["age"];
echo json_encode([$name => $age]);
});
Route::post('/post-json', function () {
$ret = file_get_contents("php://input");
$data = json_decode($ret, true);
$name = $data["name"];
$age = $data["age"];
echo json_encode([$name => $age]);
});
Route::get('/get-jsonp', function () {
$callback = $_GET["callback"];
$name = $_GET["name"];
$age = $_GET["age"];
echo $callback . "(" . json_encode([$name => $age]) . ")";
});
Laravel 接收GET或POST参数
Route::get('/getOrPost', function (Request $request) {
$name = $request->input("name");
$age = $request->input("age");
echo json_encode([$name => $age]);
});
XML和JSON
APP接口输出格式三要素 code 错误码 msg 错误码描述 data 接口数据
封装app接口数据格式
app/Http/Response/ResponseJson.php
关注
打赏