Ajax向后台传递中文时,后台接收出现乱码

  解决方案
   方法一:通过 new String(需要转换的值.getBytes(“原编码格式”),“需要转换的格式”) 方法

a)  案例:

b)  说明:new String的详细说明

c)  注意:个别汉字可能会出现无法转换的情况;

 方法二:通过encodeURI()方法和java.net.URLDecoder.decode()方法进行转换

a)  案例:

                

b)  说明:encodeURI、URLDecoder方法说明(另附其它两种方法)

在前台页面对需要发送的值通过encodeURI()方法进行转码,并在后台通过java.net.URLDecoder.decode()进行相应编码的解析;此方法也可用于后台向前台传递中文出现乱码时使用,在后台通过java.net.URLEncoder.encode(URIString, "UTF-8")进行转码发送到前台,然后在前台通过 URLDecode()方法进行解码。

c)  注意:中文乱码在java中URLEncoder.encode方法要调用两次解决

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个基本的HTML页面,其中包含一个文本框和一个按钮,用于向后台发送数据。使用jQuery的AJAX方法可以轻松地向后台发送请求并接收响应。 ```html <!DOCTYPE html> <html> <head> <title>HTML AJAX示例</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(document).ready(function() { $("#search-btn").click(function() { var value = $("#search-input").val(); // 获取文本框的值 $.ajax({ url: "search.php", // 后台处理脚本的URL type: "POST", // 请求类型为POST data: {search: value}, // 发送的数据 success: function(result) { // 成功接收响应后的回调函数 $("#result").html(result); // 将查询结果显示在页面中 } }); }); }); </script> </head> <body> <h1>HTML AJAX示例</h1> <input type="text" id="search-input" placeholder="请输入查询关键字"> <button id="search-btn">查询</button> <div id="result"></div> </body> </html> ``` 在这个示例中,当用户点击查询按钮,jQuery的点击事件处理程序将获取文本框的值,并使用AJAX后台发送请求。请求发送到名为“search.php”的脚本,请求类型为POST,发送的数据为文本框的值。请求成功后,AJAX将调用一个名为“success”的回调函数,并将响应结果作为参数传递给它。在这个回调函数中,我们将查询结果显示在页面中的一个<div>元素中。后台脚本应该能够接收请求并根据接收到的数据进行查询。例如,以下是一个简单的PHP脚本,它从数据库中查询匹配查询关键字的行,并将结果作为HTML表格返回。 ```php <?php // 获取查询关键字 $search = $_POST["search"]; // 连接到数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); } // 查询并返回结果 $sql = "SELECT * FROM mytable WHERE column LIKE '%$search%'"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table>"; while($row = $result->fetch_assoc()) { echo "<tr><td>" . $row["column1"] . "</td><td>" . $row["column2"] . "</td></tr>"; } echo "</table>"; } else { echo "没有查询到结果。"; } // 关闭数据库连接 $conn->close(); ?> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值