Ajax传地址URL编码格式

当我们用Ajax传递路径的时候,有可能会出错,尤其是路径中有汉字的时候,传递的路径与接收的路径不同。解决方法:在传递路径的时候对路径编码,接收的时候解码存入数据库。

如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="../jquery-1.11.2.min.js"></script>
</head>

<body>
<img src="img/果子.jpg" id="tupian" /><br />
</body>
</html>
<script type="text/javascript">
$(document).ready(function(e) {

    var url = $("#tupian").attr("src");
    var lujing = encodeURIComponent(url); //URL编码
    //alert(lujing);
    $.ajax({
        url:"chuli.php",
        data:{url:lujing},
        type:"POST",
        dataType:"TEXT",
        success: function(data){
            //alert(data);
            if(data.trim()=="OK")
            {
                alert("添加成功!");
            }
            else
            {
                alert("添加失败!");
            }
            }
        });
});
</script>

处理页面chuli.php:

<?php
$url = $_POST["url"];
$lujing = urldecode($url); //URL解码
include("../DB.class.php");
$db = new DB();
$sql = "insert into nation values(‘n014‘,‘{$lujing}‘)";
if($db->Query($sql,1))
{
    echo "OK";
}
else
{
    echo "NO";
}
时间: 2024-08-13 01:45:19

Ajax传地址URL编码格式的相关文章

Thinkphp Ajax传地址

在使用文本编辑器时,如果加入图片,涉及到图片的src,需要用到Ajax传地址到处理页面. 在使用Ajax的过程中,如果要通过JSON传递路径值到处理页面,会出现传值不正确. 解决方法就是在传值之前将路径进行编码: encodeURIComponent(url) 在处理页面,将接收到的路径变量进行解码: urldecode(url) 例如: text.html <head> <meta http-equiv="Content-Type" content="te

6月23 Ajax传地址

利用Ajax将图片存入数据库的过程中可能会出现路径乱码或不一致的现象因此要对其进行编码解码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

Ajax传地址

利用Ajax将图片存入数据库的过程中可能会出现路径乱码或不一致的现象因此要对其进行编码解码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

jq中的ajax传参

    一.   jq中的Ajax传参有两种           1.通过url地址来传参    2.通过data来传递参数 1. url来传递参数 function GetQuery(id) { if (id ==1||id==7) { var name = "语文"; $.ajax({ url:"../ajaxHandler/ChartsHandler.ashx?id="+id+"&name="+name +"",

ajax传参到实体类对应字段

之前看公司的代码,从页面ajax传参数到接口类,接口类用一个实体接收.我一直以为c#会自动识别,赋值到同名的字段. 我曾和朋友讨论过,双方辩论.朋友认为c#没有这种功能,没有这样高级匹配的机制.而我因为在项目中使用的是直接传值,并没有做过什么拼接或转换,所以我认为c#会自动把同名的自动赋值.朋友不同意,于是我们觉得代码上见分晓. 打开vs,我们开始调试,写好一段ajax的js,Url就写接口类的路径,参数为一段json,然后接口类那边接收json.写到接口类的时候,我想要接收ajax传来的数据,

判断手机端用户打开页面时是android还是ios,并将判断结果通过ajax返回给url接口,传递回去

首先判断页面是android还是ios,然后利用ajax将结果通过接口url返回回去,记录到log日志中,以统计android和ios用户访问该页面的数量(数据统计) <script type="text/javascript"> window.onload = function(){//页面加载之后立即执行 var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.inde

checkbox选中并通过ajax传数组到后台接收

这次讲的是通过复选框,选中,点击提交,并将值chuan到后台controller.这个应用是比较广的,什么批量修改,批量添加,授权管理等等,都用到这个.其实这个还是挺简单的,并没有想象中的那么难,但我看到不少朋友在此处受挫,当然曾经的我也是如此.现在给大家贴个代码分享下吧. 本文中使用的是layui框架,当然也可以不引进它,不过jquery的库还是要的. 该示例环境是spring+springmvc+mybatis plus+jdk8+mysql57+maven3以上+window10(linu

ajax传JSON时设置的contenttype导致JAVA中request.getParameter(&quot;&quot;)怎么也接收不到数据

ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded, 当ajax传JSON时设置的contenttype 如果是application/json或者text/json时,JAVA中request.getParameter("")是接收不到数据的. 因为在java后台会认为你传递的是一个纯文本流,而非键值对,是不能存入requestMap的. 可以把流读取出来转成json转成lsit或对象等,在Spring中使用@R

Spring Boot 嵌入式 Tomcat 文件上传、url 映射虚拟路径

1.Java web 应用开发完成后如果是导入外置的 Tomcat 的 webapps 目录的话,那么上传的文件可以直接的放在应用的 web 目录下去就好了,浏览器可以很方便的进行访问. 2.Spring Boot 默认使用嵌入式 Tomcat ,将来打包成可执行 Jar 文件进行部署,显然打成 jar 包后,总不可能再将上传的文件放在 resources 目录下去了. 3.Spring Boot 于是提供了 url 地址匹配本地虚拟路径的功能: 1)上传文件到服务器,服务器将文件保存到了本地,