2.ajax请求实例(增、删、改、查)

        Rest风格的URI
增: /emp          -->post请求
删: /emp/{id}    -->post转delete
改: /emp/{id}    -->post转put
: /emp/{id}    -->get请求

一:新增
    
    
    
  1. //为保存员工信息的按钮添加点击事件.
  2. $("#add_save_emp").click(function(){
  3. //alert($("#myModal form").serialize()); //打印表单信息.
  4. //发送ajax请求,新增员工.
  5. $.ajax({
  6. url:"${APP_PATH}/emps",
  7. type:"POST",
  8. data:$("#myModal form").serialize(),
  9. success:function(result){
  10. //后端校验.
  11. if(result.code == 200){
  12. if(undefined != result.result.errors.empName){
  13. //显示名字错误信息
  14. add_validate("#add_emp_empName", "error", result.result.errors.empName);
  15. }
  16. if(undefined != result.result.errors.email){
  17. //显示邮箱的错误信息.
  18. add_validate("#add_emp_email", "error", result.result.errors.email);
  19. }
  20. }else{
  21. $("#myModal").modal('hide');//隐藏模态框
  22. //跳转到指定页面.
  23. alert($("#col-page").attr("attr-pn"));
  24. }
  25. }
  26. });
  27. });

二、删除

 2.1:删除单一员工
     
     
     
  1. //为删除按钮绑定点击事件.
  2. $(".delete-button").click(function(){
  3. var id = $(this).attr("attr-id");
  4. //当前标签(删除按钮)的父元素的父元素的第2个th子元素的文本内容.
  5. var empName = $(this).parents("th").parents("tr").find("th:eq(1)").text();
  6. //点击确定的情况下才发送ajax请求
  7. if(confirm("确认要删除"+empName+"吗")){
  8. //发送ajax请求,删除数据.
  9. $.ajax({
  10. url:"${APP_PATH}/emp/"+id,
  11. type:"delete",
  12. success:function(result){
  13. //alert(result.msg);
  14. //...跳转到当前页
  15. }
  16. });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里提供一个简单的 Vue 连接后台并实现的示例: 1. 后端代码: 首先,我们需要在后端实现 RESTful API 接口,用于处理前端发送的请求。这里以 Spring Boot 为例: ```java @RestController @RequestMapping("/api/books") public class BookController { @Autowired private BookService bookService; // 询所有书籍 @GetMapping("") public List<Book> getAllBooks() { return bookService.getAllBooks(); } // 根据 ID 询书籍 @GetMapping("/{id}") public Book getBookById(@PathVariable Long id) { return bookService.getBookById(id); } // 添加书籍 @PostMapping("") public Book addBook(@RequestBody Book book) { return bookService.addBook(book); } // 更新书籍 @PutMapping("/{id}") public Book updateBook(@PathVariable Long id, @RequestBody Book book) { book.setId(id); return bookService.updateBook(book); } // 删除书籍 @DeleteMapping("/{id}") public void deleteBook(@PathVariable Long id) { bookService.deleteBook(id); } } ``` 其中,Book 表示书籍实体类,BookService 表示书籍服务类,具体实现可以根据您的需求自行编写。 2. 前端代码: 在前端中,我们需要使用 Vue.js 来实现页面渲染和交互。这里以 Element UI 为 UI 框架,使用 Axios 库来发送 Ajax 请求: ```html <template> <div> <el-table :data="books" style="width: 100%"> <el-table-column prop="id" label="ID"></el-table-column> <el-table-column prop="name" label="名称"></el-table-column> <el-table-column prop="author" label="作者"></el-table-column> <el-table-column label="操作"> <template slot-scope="scope"> <el-button type="text" @click="handleEdit(scope.row)">编辑</el-button> <el-button type="text" @click="handleDelete(scope.row)">删除</el-button> </template> </el-table-column> </el-table> <el-dialog :visible.sync="dialogVisible"> <el-form :model="book" label-width="80px"> <el-form-item label="名称"> <el-input v-model="book.name"></el-input> </el-form-item> <el-form-item label="作者"> <el-input v-model="book.author"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取消</el-button> <el-button type="primary" @click="saveBook">保存</el-button> </div> </el-dialog> <el-button type="primary" @click="handleAdd">添加</el-button> </div> </template> <script> import axios from 'axios' export default { data() { return { books: [], dialogVisible: false, book: {} } }, methods: { // 获取所有书籍 loadBooks() { axios.get('/api/books') .then(response => { this.books = response.data }) .catch(error => { console.log(error) }) }, // 添加书籍 handleAdd() { this.book = {} this.dialogVisible = true }, // 编辑书籍 handleEdit(row) { this.book = Object.assign({}, row) this.dialogVisible = true }, // 删除书籍 handleDelete(row) { axios.delete('/api/books/' + row.id) .then(response => { this.loadBooks() }) .catch(error => { console.log(error) }) }, // 保存书籍 saveBook() { if (this.book.id) { // 更新书籍 axios.put('/api/books/' + this.book.id, this.book) .then(response => { this.dialogVisible = false this.loadBooks() }) .catch(error => { console.log(error) }) } else { // 添加书籍 axios.post('/api/books', this.book) .then(response => { this.dialogVisible = false this.loadBooks() }) .catch(error => { console.log(error) }) } } }, mounted() { this.loadBooks() } } </script> ``` 其中,el-table 表示表格组件,el-dialog 表示弹窗组件,el-button 表示按钮组件,具体使用可以参考 Element UI 文档。loadBooks 方法用于获取所有书籍,handleAdd 方法用于添加书籍,handleEdit 方法用于编辑书籍,handleDelete 方法用于删除书籍,saveBook 方法用于保存书籍。这里使用了 Object.assign 方法来避免直接修改原始数据,具体使用可以参考 JavaScript 文档。 这就是一个简单的 Vue 连接后台并实现的示例,具体实现可以根据您的需求进行调整。希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值