写一个基于Ajax XMLHttpRequest的在线翻译平台界面代码
时间: 2024-04-02 22:33:06 浏览: 58
以下是一个基于 Ajax XMLHttpRequest 的在线翻译平台界面代码,你可以根据需求进行修改:
HTML 代码:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax 翻译平台</title>
</head>
<body>
<h1>Ajax 翻译平台</h1>
<form>
<label for="source">原文:</label>
<textarea id="source"></textarea>
<label for="target">译文:</label>
<textarea id="target" readonly></textarea>
<button id="translate">翻译</button>
</form>
<script src="translate.js"></script>
</body>
</html>
```
JavaScript 代码:
```
// 获取元素
var sourceInput = document.getElementById('source');
var targetInput = document.getElementById('target');
var translateBtn = document.getElementById('translate');
// 监听翻译按钮的点击事件
translateBtn.addEventListener('click', function(event) {
event.preventDefault(); // 阻止表单提交
var sourceText = sourceInput.value;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://example.com/api/translate', true);
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.onload = function() {
if (xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
targetInput.value = response.targetText;
} else {
targetInput.value = '翻译失败';
}
};
xhr.onerror = function() {
targetInput.value = '翻译失败';
};
xhr.send(JSON.stringify({sourceText: sourceText}));
});
```
这段代码中,我们监听了翻译按钮的点击事件,阻止了表单的默认提交行为。然后,创建了一个 XMLHttpRequest 对象,设置了请求的 URL、请求方法和请求头部信息。在请求成功后,解析响应数据,将翻译结果显示在目标文本框中。如果请求失败,则在目标文本框中显示“翻译失败”。
阅读全文