呼叫百度翻譯介面demo(完整ajax請求)
阿新 • • 發佈:2019-02-15
//線上翻譯查詢(百度翻譯) $('#selectBtn').click(function() { var appid = '你申請的appid'; var key = '你申請的key'; var salt = (new Date).getTime();//取當前時間作為隨機數 var query= $('#transInput').val();//取輸入框的val var q = encodeURIComponent(query);//編碼UTF-8 var from = $('#languageLeft').attr('data-language');//原文 var to = $('#languageRight').attr('data-language');//譯文 var str1 = appid + query + salt +key;//祕鑰 var sign = MD5(str1);//md5加密 $.ajax({ url: 'http://api.fanyi.baidu.com/api/trans/vip/translate', type: 'get', dataType: 'jsonp', data: { q: query, appid: appid, salt: salt, from: 'auto', to: 'auto', sign: sign }, success: function (data) { console.log(data); var result = data.trans_result; $('#transDisplay').empty(); for(var i in result){ var html = '<p>'+decodeURIComponent(result[i].dst)+'</p>'; $('#transDisplay').append(html); } } }); });
官網給了測試的appid和key
var appid = '2015063000000001';
var key = '12345678';
還要下載一個md5檔案,大家可以到官網去點選demo下載,裡面包含了MD5檔案。
上面的from和to我是設定的auto,自動識別語言。如果要自己傳的話,可以參照上面我設定的變數from、to。我在html標籤上設定了data-language屬性來儲存語言編碼。
這裡有個問題要注意,你要翻譯的文字在ajax傳輸的時候要encode轉碼,而生成祕鑰的時候這塊則是不需要轉碼的。大家切記。