前台和后台的数据交互

    最近刚刚接手B/S的项目,涉及到了服务器从数据库中查询数据,然后根据数据拼出前台的HTML语句。下面是自己的一段路程。

从最开始自己的一个技术难点,后台拼接完了HTML语句,怎么送到前台呢?下面是关于ASPX页面的数据交互。注意:如果代码看不清,请选中看观看。



    最简单的一种方法: <%=方法名()%>,这个方法名是在后台写的方法。看图

前台aspx页面。


        后台的代码



    第二种:使用jQuery封装好的ajax

    前台js代码:注意一定要引用jQuery库。

<span style="font-size:18px;">                             $.ajax({
		                url: "MobileFeedBack.aspx/SubmitSuggestion",  //url 前面是aspx的页文件,后面是调用的方法名
		                type: "post",
		                data: params,
		                contentType: "application/json;charset=utf-8",
		                success: function (data) {
		                    if (data == '{"d":true}') {
		                        mui.alert("提交失败,请稍等!", "提示");
		                    }
		                    else {
		                        mui.alert('提交成功,感谢您的支持!', '提示', function () {
		                            var url = "../mobile/mobileHomePage.aspx";
		                            window.location.href = url;
		                        });

		                    }
		                }
		            });</span>

后台代码uing的引用

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using BLL;
using Entity;
using System.Web.Services;
using System.Web.Script.Serialization;</span>
       <span style="font-size:18px;">[WebMethod]  //使客户端可以调用此方法,基于引用System.Web.Services
        public static bool SubmitSuggestion(string suggestion, string userName)
        {    //语句体                                                                                                       }</span>


    第三种是基于一般处理程序的HttpContext,来获取客户端的信息,然后调用处理客户端信息的后台方法。最后返回json串。

js的post——>一般处理程序——>后台类的方法——>一般处理程序——>js的post

     在此要注意:FeedBack.ashx是一般处理程序的文件名,要注意路径。


     

    $.post("FeedBack.ashx", { Message: sendMessage, Grade: grade  }, function (data) {
           mui.alert('提交成功,感谢您的支持','提示',function(){
                window.top.location.href = '../LoginMobile.aspx';
            });
            
        }, 'json');
       




后台代码

   //using引用                                                                              using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Text;

        //用来获取客户端http请求的信息 ,该方法由系统自动生成,语句体自己写                          public void   ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html;charset=utf-8";
            string sendmessage = context.Request.Params["Message"].ToString();
            string grade = context.Request.Params["Grade"].ToString();

          string json =  reString(sendmessage, grade);  //在此调用了其他的方法。
          context.Response.Write(json);//返回处理结果
            context.Response.ContentEncoding = System.Text.Encoding.UTF8;
            context.Response.End();
           
        }
  public string  reString(string message,string grade)
        {
            weChatBackInfo feedback = new weChatBackInfo();  //先声明一个类
            StringBuilder sb = new StringBuilder();
            if (feedback.Submit(message, grade))           //括号里调用了该类的方法
            {
                sb.Append("我们已接收到您的反馈意见,感谢您的支持");
            }
            else
            {
                sb.Append("感谢您的支持,网络繁忙,请稍后");
            }
            //json串的格式: {键名:值,键名:值。。。。。。}
            string jsonString = "{\"returnMessage\":\"" + sb.ToString() + "\"}";
            return jsonString;
            
        }





  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
springboot是一种Java框架,用于开发快速、高效的应用程序。它提供了很多便捷的功能,其中之一就是前后台数据交互。 下面是一个简单的示例代码,展示了使用springboot进行前后台数据交互的方式: 1. 创建一个UserController类,处理前后台数据交互逻辑。 ```java @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List<User> getUsers() { return userService.getAllUsers(); } @PostMapping("/users") public void addUser(@RequestBody User user) { userService.addUser(user); } @GetMapping("/users/{id}") public User getUserById(@PathVariable int id) { return userService.getUserById(id); } @PutMapping("/users/{id}") public void updateUser(@PathVariable int id, @RequestBody User user) { userService.updateUser(id, user); } @DeleteMapping("/users/{id}") public void deleteUser(@PathVariable int id) { userService.deleteUser(id); } } ``` 2. 创建一个UserService类,处理用户数据的增删改查操作。 ```java @Service public class UserService { private List<User> userList; public UserService() { userList = new ArrayList<>(); userList.add(new User(1, "张三", "男")); userList.add(new User(2, "李四", "女")); } public List<User> getAllUsers() { return userList; } public void addUser(User user) { userList.add(user); } public User getUserById(int id) { for (User user : userList) { if (user.getId() == id) { return user; } } return null; } public void updateUser(int id, User user) { for (User u : userList) { if (u.getId() == id) { u.setName(user.getName()); u.setGender(user.getGender()); return; } } } public void deleteUser(int id) { for (User user : userList) { if (user.getId() == id) { userList.remove(user); return; } } } } ``` 3. 创建一个User类,作为用户的数据模型。 ```java public class User { private int id; private String name; private String gender; // 省略构造方法和getter、setter方法 // ... } ``` 在这个示例中,我们使用@RestController注解标记了UserController类,使其成为一个可以处理HTTP请求的Controller。在UserController类中,我们定义了GET、POST、PUT和DELETE方法,分别用于获取所有用户、添加用户、更新用户和删除用户。 使用@Autowired注解将userService注入到UserController中,以便通过调用userService中的方法来处理相应的业务逻辑。 使用@GetMapping、@PostMapping、@PutMapping和@DeleteMapping注解标记相关的方法,表示它们分别对应GET、POST、PUT和DELETE请求。 通过使用@RequestBody注解,将前台传递的JSON格式数据自动转换为User对象,并通过调用userService的方法来操作用户数据。 以上就是一个简单的用于展示springboot前后台数据交互的示例代码。希望对你有帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值