當我們用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"; }