我正在創建一個客戶端瀏覽器界面,該界面將使用字典Web服務Glosbe API。用戶應該能夠在輸入組件中輸入一個詞或一個詞組並提交它,而無需重新加載頁面。返回的數據需要以可用格式顯示在頁面上,以便他們能夠查找和讀取含義。使用JS和HTML使用Web服務
我試圖通過Netbeans創建一個Web服務,但我不確定這是否是正確的方法。這與創建HTML頁面並使用javascript調用api for Glosbe一樣簡單嗎?
任何幫助將不勝感激。
我正在創建一個客戶端瀏覽器界面,該界面將使用字典Web服務Glosbe API。用戶應該能夠在輸入組件中輸入一個詞或一個詞組並提交它,而無需重新加載頁面。返回的數據需要以可用格式顯示在頁面上,以便他們能夠查找和讀取含義。使用JS和HTML使用Web服務
我試圖通過Netbeans創建一個Web服務,但我不確定這是否是正確的方法。這與創建HTML頁面並使用javascript調用api for Glosbe一樣簡單嗎?
任何幫助將不勝感激。
您可以使用JavaScript中的XMLHTTPRequest來輪詢Web服務。 XHR對象非常適合允許您向頁面發出請求或提交表單而無需刷新頁面。請求發出後,可以異步完成,以便頁面可以繼續處理其他事件,然後處理響應並更新HTML。谷歌上有大量的資源可以指導你實施一個XHR對象和適當的錯誤處理以及示例代碼。只要返回的數據以可用的格式顯示,當響應返回時,這將需要由JS完成。您可以解析所需數據的響應,並通過JS構建適當的HTML元素來更新您的UI。
HTML
< INPUT TYPE = '文本' ID = '字' >
<輸入類型= '布通' 的onclick = '的sendMessage()' >
JS
function sendMessage()
{
var XHRrequest=new XMLHttpRequest();
XHRrequest.onabort = function() {
};
XHRrequest.onloadend = function (evt) {
};
XHRrequest.onreadystatechange = function() {
if (XHRrequest.readyState == 4 && XHRrequest.status == 200) {
//parse XHRrequest.responseText for response and build object
//this is where you update your UI with an HTML element
}
else if (XHRrequest.readyState == 4 && XHRrequest.status!=0) {
console.log("Error: returned status code " + XHRrequest.status + " " + XHRrequest.statusText + "\r\n" + XHRrequest.responseText);
//error handling for failed response
}
};
XHRrequest.ontimeout = function() {
alert("Error: event timed out");
};
XHRrequest.open("POST", WEBSERVICE_URL_HERE, true);
XHRrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XHRrequest.send("word="+document.getElementById('word').value); \\request data goes here
}
這將允許用戶在HTML頁面上輸入一個單詞,並且會請求來自Glosbe Web服務的回覆? – Spencer
因此,您需要設置一個供用戶輸入的輸入框,可以使用onkeypress事件來偵聽輸入或按鈕,並使用onclick事件來初始化XHR對象。 XHR對象會提出請求,當它完成時,您將解析該信息並在JS中創建一個HTML元素,並從請求中返回信息,以隨意更新UI。 –
您可能會向我展示這樣的代碼示例嗎?謝謝。 – Spencer