This article mainly introduces the implementation method of asynchronous transmission technology using the built-in ThinkAjax of ThinkPHP. It has a certain reference value. Now I share it with you. Friends in need can refer to the official website of
ThinkPHP The document does not give how to use ThinkAjax, which makes it inconvenient for many beginners to use. I learned this today and encountered many problems. I took the time to study it in depth and made a study note. I hope it will be helpful to beginners
Preparation work:
① First of all, you must be able to use the ThinkPHP framework
② It is best to have some basics of ajax (you can check out Xiaofei's other blog post: Ajax real-time verification of "user name/email, etc." Already exists)
③ 4 js documents (click here to download for free)
First paste the source code:
Copy code The code is as follows:
<script type="text/javascript" src="__PUBLIC__/js/base.js"></script> <script type="text/javascript" src="__PUBLIC__/js/prototype.js"></script> <script type="text/javascript" src="__PUBLIC__/js/mootools.js"></script> <script type="text/javascript" src="__PUBLIC__/js/Ajax/ThinkAjax.js"></script> <script type="text/javascript"> function checktitle() { ThinkAjax.send('__URL__/checktitle','ajax=1&title='+$('title').value,'','checkbox'); } </script> <form action="__URL__/insert" method="post" id="myform"> <table> <tbody> <tr> <td width="45" class="tRight">标题:</td> <td> <input type="text" id="title" name="title"> <input type="button" value="检查" onClick="checktitle();"> </td> <td> <span id="checkbox"></span> </td> </tr> </tbody> </table> </form>
Code explanation:
Add an onclick event for the "Check" button. When the button is clicked, call the checktitle() function
In the checktitle function, we only use the member method send in the ThinkAjax object
send:function(url,pars,response,target,tips,effect){……}
It can be seen that the ThinkAjax.send method has 6 parameters:
Parameter url: Indicates that the client is to be browsed Which method on the server should the data transmitted from the server be submitted to for processing? Here I submit it to the "checktitle method under the current module" for processing
Parameter pars: equivalent to the parameter string in the send method in ajax, indicating that it is to be submitted. Data, this parameter is only used to pass values in post mode
Parameter response: Custom callback function. If the callback function is defined, after the server processes the submitted data, it will hand the processed data to the callback function to process. The callback function has two parameters: ①data ②status Parameter data: Assign the data processed by the server to data Parameter status: Indicates the status information after processing, 1 means success, 0 means failure
Parameter target: Indicates the processed data Where to display (or output), for example: I assign this parameter as: checkbox, which means that the processed data will be output in the label with id="checkbox"
Source code of the checktitle method under the current module :
Copy code The code is as follows:
<?php class IndexAction extends Action { // 首页 public function index(){ $this->display(); } // 检查标题是否可用 public function checkTitle() { if(!empty($_POST['title'])) { $Form = D("Form"); if($Form->getByTitle($_POST['title'])) { $this->error('标题已经存在'); } else { $this->success('标题可以使用!'); } } else { $this->error('标题不能为空...'); } } } ?>
Related recommendations:
How to use ajax to receive json data in ThinkPHP
WeChat custom sharing function based on thinkPHP
The above is the detailed content of How to implement asynchronous transmission technology using ThinkAjax built in ThinkPHP. For more information, please follow other related articles on the PHP Chinese website!