Dengan perkembangan pesat Internet, pengalaman pengguna aplikasi web telah menjadi faktor yang semakin penting. Menggunakan teknologi Ajax untuk melaksanakan fungsi serupa adalah cara biasa. Artikel ini akan memperkenalkan cara menggunakan rangka kerja ThinkPHP untuk melaksanakan fungsi seperti berasaskan Ajax dengan cepat.
1. Persediaan persekitaran pembangunan
Artikel ini menggunakan rangka kerja ThinkPHP5.1 Anda perlu memasang PHP5.5 ke atas dan pangkalan data MySQL, dan memastikan persekitaran boleh menjalankan ThinkPHP.
2. Cipta jadual pangkalan data
Buat jadual berikut dalam MySQL:
CREATE TABLE `likes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content_id` int(11) NOT NULL COMMENT '点赞的文章id', `user_id` int(11) NOT NULL COMMENT '点赞的用户id', `created_time` int(11) NOT NULL DEFAULT '0' COMMENT '点赞时间戳', `updated_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间戳', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
3 Lapisan Pengawal
Buat pengawal SukaController.php , gunakan kod berikut untuk mendapatkan permintaan Ajax:
namespace app\index\controller; use think\Controller; use think\Db; class LikesController extends Controller { public function like() { $content_id = input('post.content_id'); $user_id = input('post.user_id'); $created_time = time(); $updated_time = time(); $data = [ 'content_id' => $content_id, 'user_id' => $user_id, 'created_time' => $created_time, 'updated_time' => $updated_time, ]; $result = Db::name('likes')->insert($data); if ($result) { return json(['code' => 200, 'msg' => '点赞成功']); } else { return json(['code' => 500, 'msg' => '点赞失败']); } } }
4. Lihat lapisan
Buat halaman hadapan hadapan index.html, gunakan jQuery untuk mendengar acara klik pengguna dan hantar Ajax permintaan kepada pelayan:
<!DOCTYPE html> <html> <head> <title>点赞</title> <meta charset="utf-8"> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div id="like_button" data-content-id="1" data-user-id="1">点赞</div> </body> <script type="text/javascript"> $(document).ready(function () { $('#like_button').click(function () { var content_id = $(this).data('content-id'); var user_id = $(this).data('user-id'); $.ajax({ url: "/LikesController/like", type: "POST", dataType: "json", data: {"content_id": content_id, "user_id": user_id}, success: function (data) { if (data.code == 200) { alert(data.msg); } else { alert(data.msg); } } }); }); }); </script> </html>
5 Tetapan penghalaan
Tambah laluan dalam fail penghalaan (route.php):
Route::post('/LikesController/like', 'index/LikesController/like');
6 🎜>
Mulakan pelayan , lawati http://localhost/index/index/index, klik Suka untuk menguji fungsi ini. Semak sama ada rekod ditambahkan dalam jadual suka dalam MySQL untuk memastikan suka berjaya. 7. RingkasanDengan menggunakan rangka kerja ThinkPHP dan teknologi jQuery, fungsi seperti berasaskan Ajax dilaksanakan. Ciri ini boleh meningkatkan pengalaman pengguna aplikasi web dan meningkatkan interaksi antara pengguna dan aplikasi web.Atas ialah kandungan terperinci thinkphp dengan cepat melaksanakan fungsi seperti berdasarkan Ajax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!