调用百度翻译接口demo(完整ajax请求)


           
//在线翻译查询(百度翻译)
    $('#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转码,而生成秘钥的时候这块则是不需要转码的。大家切记。


猜你喜欢

转载自blog.csdn.net/sheng_li/article/details/77483055