Отправить запрос и получить ответ
Здравствуйте. Хочу сделать что б текст который выделили(допустим на русском), после нажатие нажали на кнопку и 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, время: 23:00. |