Отправить запрос и получить ответ
Здравствуйте. Хочу сделать что б текст который выделили(допустим на русском), после нажатие нажали на кнопку и alertom вывело перевод на английском. Не могу сделать эти запросы..В javascript я не силен, прошу вашей помощи.
<div id="ex3" style="border:1px dashed #999; color:#666; background:#EEE; padding:2px 5px; margin:10px 0;"> <p> Freelance.ua – это новейший портал по поиску удаленной работы в интернете. Фриланс Украина - тут работодатели могут быстро опубликовать проект для поиска исполнителя удаленной работы, а фри-лансеры ежедневно смогут находить массу интересных предложений, а также самостоятельно искать работодателя. </p> </div> <a href="javascript:alert(getSelectedText());">lollolool</a> function getSelectedText() { //a kijelolt szoveg visszaadasa var selectedText = document.getSelection().toString(); var parent = /[а-яёЁ]/i; var language = (parent.test(selectedText))? 'ru-en':'en-ru'; var xmlhttp = getXmlHttp() xmlhttp.open('GET', 'http://translate.yandex.net/api/v1/tr.json/translate', true); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { alert (xmlhttp.responseText); } } }; xmlhttp.send(selectedText); |
Cледует зарегистрировать api-ключ и использовать новую версию API перевода, т. к. 1-я версия перестанет работать с июня.
Для запроса можно использовать jsonp: function attachScript(src) { var elem = document.createElement("script"); elem.src = src; document.getElementsByTagName('head')[0].appendChild(elem); } function myCallback(res) { alert(res.text); } attachScript('https://translate.yandex.net/api/v1.5/tr.json/translate?key=API-ключ&lang=en-ru&text=To+be,+or+not+to+be%3F&text=That+is+the+question.&callback=myCallback') P. S. Кроссдоменный XmlHttpRequest |
Часовой пояс GMT +3, время: 06:45. |