


thinkphp5.1 realizes front-end and back-end separation and interaction with php and vue.js
The following is the thinkphp framework tutorial column to introduce you to thinkphp5.1, php, and vue.js to achieve front-end and back-end separation and interaction. I hope it will be useful to friends who need it. help!
The main goal is to use vue.js to transfer the account number and password obtained by the front end to the backend, and then use the tp5.1 framework to obtain the front end value and return token and other values. Then use localStorage.setItem() to store the data in the front end. In subsequent visits, return the value saved by localStorage.setItem() to the background, so that the background can obtain the corresponding value, obtain the value of the database based on this value, and determine whether the value is established. Finally, the successful or failed instruction or The value is returned to the front end. The front end implements an operation or jump based on the obtained value.
1. Preparation work, call vue.js and axios.js in the front-end login.html. Some simple UI uses of Are You Hungry are also called here.
1 2 3 4 5 |
|
Detailed use of vue.js and axios.js. For details, please see https://cn.vuejs.org/v2/guide/ vue.js tutorial and https://www.kancloud.cn/yunye/axios/234845
axios.js tutorial. The front-end login.html value passing code is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
You also need to set up the config configuration file app.php
1 |
|
Connect to the database in database.php
The following is the background to obtain data, Perform operations on data. This mainly uses the requests and models of tp5.1, as well as the use of jwt. For details, see https://github.com/firebase/php-jwt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
Background User.php obtained according to The data is compared with the database, but when the account password is correct, a string with the unique ID of that account and other data is returned to the front end. The front end saves the value and uses the value to obtain the corresponding data of the user and displays it on the front end. . Same, call those js, and then the js code is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
Route route.php receives it and jumps to the middleware to verify the passed value to determine whether to enter the controller. For future operations, use middleware to facilitate future judgments without writing methods on every function of the controller.
1 |
|
The middleware VerifyUser.php code is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
When the middleware is executed, it will jump to the controller User.php
1 2 3 4 5 |
|
At this point, a simple about The front-end and back-end for inputting account and password to log in have been separated, but the code is probably not rigorous enough and needs to be optimized.
The above is the detailed content of thinkphp5.1 realizes front-end and back-end separation and interaction with php and vue.js. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



When using the Vue framework to develop front-end projects, we will deploy multiple environments when deploying. Often the interface domain names called by development, testing and online environments are different. How can we make the distinction? That is using environment variables and patterns.

Ace is an embeddable code editor written in JavaScript. It matches the functionality and performance of native editors like Sublime, Vim, and TextMate. It can be easily embedded into any web page and JavaScript application. Ace is maintained as the main editor for the Cloud9 IDE and is the successor to the Mozilla Skywriter (Bespin) project.

The difference between componentization and modularization: Modularization is divided from the perspective of code logic; it facilitates code layered development and ensures that the functions of each functional module are consistent. Componentization is planning from the perspective of UI interface; componentization of the front end facilitates the reuse of UI components.

Foreword: In the development of vue3, reactive provides a method to implement responsive data. This is a frequently used API in daily development. In this article, the author will explore its internal operating mechanism.

Vue.js has become a very popular framework in front-end development today. As Vue.js continues to evolve, unit testing is becoming more and more important. Today we’ll explore how to write unit tests in Vue.js 3 and provide some best practices and common problems and solutions.

How to handle exceptions in Vue3 dynamic components? The following article will talk about Vue3 dynamic component exception handling methods. I hope it will be helpful to everyone!

In Vue.js, developers can use two different syntaxes to create user interfaces: JSX syntax and template syntax. Both syntaxes have their own advantages and disadvantages. Let’s discuss their differences, advantages and disadvantages.

In the actual development project process, sometimes it is necessary to upload relatively large files, and then the upload will be relatively slow, so the background may require the front-end to upload file slices. It is very simple. For example, 1 A gigabyte file stream is cut into several small file streams, and then the interface is requested to deliver the small file streams respectively.
