訪問HTML頁面中的Web服務,我有一個靜態網站,我想訪問該網站中的一個Web服務。如何在html頁面中訪問web服務?靜態網站?
回答
請javascript,這裏是示例代碼
<html>
<head>
<title>Hello World</title>
<script language="JavaScript">
function InitializeService(){
service.useService(http://localhost/MyWebService.asmx?wsdl, "HelloWorldService");
service.HelloWorldService.callService("HelloWorld");
}
function ShowResult(){
alert(event.result.value);
}
</script>
</head>
<body onload="InitializeService()" id="service"
onresult="ShowResult()"> </body>
</html>
需要jQuery來完成這項工作?提及 – tgkprog 2013-04-18 19:46:59
服務不是一個標準的JavaScript對象,你可能需要你的URL之間的字符串分隔符。 – EmeraldCoder 2013-04-19 01:56:16
您還可以使用jQuery,但是您訪問必須駐留在同一個域中即拍即request.It必須遵守的jQuery腳本的Web服務相同的域名政策。
$(document).ready(function() {
$('#Save').click(function() {
$.ajax({
url: "mydomain.com/test/ws/getData",
type: "POST",
dataType: "json",
data: "{BizName:'" + BizName + "'}",
contentType: "application/json; charset=utf-8",
success: function(msg) {
$('#status').html('Id: '+msg['d']['Id']);
},
error: function(e) {
$('#status').innerHTML = "Unavailable";
}
});
});
);
它很可能的,但如果你正在運行一個靜態的網站,你會需要一些jQuery的,JavaScript中,阿賈克斯它
我假設你要訪問的Web服務是不在同一個域和你不能在服務器端建立代理。如果這兩個假設都是正確的,那麼由於瀏覽器中的原始策略相同,不能使用「普通」ajax。您最好的選擇可能是JSONP,因爲它受到許多Web服務的支持。
我會給你一個簡單的例子。要檢索下與JavaScript中使用jQuery的openkeyval存儲Web服務的關鍵「的myKey」存儲的值,調用
$.ajax({
url: "http://api.openkeyval.org/mykey",
dataType: "jsonp",
success: function(data){
// do something with data
}
});
和存儲的值,調用
$.ajax({
url: "http://api.openkeyval.org/store/",
data: "mykey=myvalue",
dataType: "jsonp",
success: function(data){
// your value has been succesfully saved
}
});
請注意,現在很多人認爲Cross-origin resource sharing (CORS)是JSONP的更好替代方案。但是,爲您開始可能有點困難。
我同意benedolph提供的答案,但認爲我可能會添加違揹他的假設的想法。
這些步驟可能比您想要的更復雜,但實際上並不十分複雜 - 如果不是免費的話,價格便宜。但至少預留一整天...
1)如果你沒有,獲得一個域代理多個服務。無論是免費還是每月5美元(取決於您的需求)。
2)寫你的代理。這可以用你選擇的語言來完成 - Java(推薦的Play框架),PHP(推薦CodeIgniter框架),Javascript(Node),Ruby(Rails)等等。你會做什麼(從高層次)可能會看起來像:
- Read request. This would be a url you configure on the server app.
The url might look something like, "http://yourdomain.net/get/mashup/{service1:yourfirstservice.com, service2:yournextservice.com,...}.
- Parse the json into individual requests and load each of them from your server app. (The fastest way that I've found to complete this task is by using cURL's multi_init and multi_exec functions, via PHP. That said, Java and Ruby have equally powerful multi-threading capabilities).
- Put the results of each query into a json map.
- Once all responses come back, output the json response from your server and consume on your client side.
無論如何,這就是我會做的。希望我的回覆能夠以某種方式幫助你!
-Brandon
+1爲乾淨的方式來做到這一點。此外,這種方式可能會緩存頻繁的請求。只需添加另一個服務器端選項:對於初學者來說,Python與[web2py](http://web2py.com)框架是一個簡單的選擇。有一個很好的[視頻](http://www.youtube.com/watch?v=M5IPlMe83yI&noredirect=1)關於如何使用包含緩存的web2py使用web服務。 [pythonanywhere](https://www.pythonanywhere.com/)提供一鍵安裝的免費託管服務。 – brdlph 2013-04-19 05:51:51
- 1. 在Pelican靜態網站中託管原始HTML頁面
- 2. 服務靜態頁面ember.js
- 3. 從Struts2.5 Web服務器訪問外部項目的靜態網頁資源
- 4. 如何控制外部網站訪問我的Web服務?
- 5. Web服務,訪問html頁面?獲取錯誤?
- 6. 靜態HTML頁面
- 7. MicrosoftAjax.js,SOAP Web服務和靜態HTML
- 8. 靜態網站與微服務?
- 9. 爲網站嚴格使用靜態html文件,jquery,ajax和json web服務?
- 10. Joomla到靜態HTML網站
- 11. 向網站添加一些靜態Html頁面:好/壞習慣?
- 12. 訪問Joomla網站頁面的問題
- 13. 如何將靜態HTML頁面嵌入到aspx頁面中?
- 14. 如何訪問本地網絡(LAN)Web服務器上的網站?
- 15. 如何確保靜態網站頁面是新鮮的?
- 16. 如何從PowerShell中訪問Web服務?
- 17. 如何訪問在靜態內容服務文件夾
- 18. 清漆+靜態HTML頁面
- 19. 如何在靜態HTML網站中創建Google廣告?
- 20. 靜態HTML頁面作爲Sharepoint頁面
- 21. 靜態頁面(.html)與ASP.NET頁面(.aspx)
- 22. 如何在外部網站訪問Facebook粉絲頁面照片
- 23. 網站上次訪問的頁面
- 24. 服務靜態html Angular4
- 25. 訪問Web服務
- 26. 爲什麼在靜態頁面方法中使用帶有Ajax的Web服務?
- 27. Thymeleaf - 如何從靜態html頁面調用模板html頁
- 28. 在寧靜的web服務中訪問mysql jdbc驅動
- 29. 如何將數據從靜態html頁面發送到服務器?
- 30. 如何在Web服務中初始化靜態變量
什麼類型的Web服務?休息?肥皂? HTML頁面是否在web服務的相同域(相同的服務器/地址)中? – acdcjunior 2013-04-16 02:25:19
入住這裏 http://stackoverflow.com/questions/2741435/calling-a-net-webservice-from-a-plain-html-site-using-jquery 同樣的問題早已見怪不怪回答 – Sweety 2013-04-17 04:36:50
你可能進一步闡述你的使用案例 – elsadek 2013-04-18 13:15:54