百度地图Geocoding的使用
如何通过javascript来调用Geocoding功能,例如在一个html页面中通过ajax发出请求,然后获得返回的数据;
我在一个页面中这样写的,为什么会出错呢?应该是怎么做才是正确的,请教?
1 <script type="text/javascript">
2 $(function () {
3 $.ajax({
4 type: "POST",
5 url: "http://api.map.baidu.com",
6 data: "geocoder?address=%BA%FE%C4%CF%CA%A1%B3%A4%C9%B3%CA%D0%CC%EC%D0%C4%C7%F8%C7%E0%D4%B0%C2%B7108%BA%C5&output=json&key=a8f937df907bf32f9750980ae9d4a2ef",
7 success: function (msg) {
8 console.info(msg);
9 alert("Data Saved: " + msg);
10 }
11 });
12 });
13 </script>
为什么这样发出的ajax请求,是找不到页面?
------解决方案-------------------- 引用: 1 <script type="text/javascript">
2 $(function () {
3 $.ajax({
4 type: "POST",
5 url: "http://api.map.baidu.com/geocoder",
6 data: "address=%BA%FE%C4%CF%CA%A1%B3%A4%C9%B3%CA%D0%CC%EC%D0%C4%……
那应该怎么写呢?
------解决方案-------------------- 凡是不在下表中的字符都要进行编码。
字符集合 字符
URL非保留字 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . ~
URL保留字 ! * ' ( ) ; : @ & = + $ , / ? % # [ ]
附注:
(1) javascript中一般采用encodeURIComponent函数对特殊字符进行编码。
(2) C#中可以使用函数URLEncoder.encode对特殊字符进行编码。
(3) Java中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。
(4) php中可以使用函数urlencode对特殊字符进行编码。