访问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. 在网站页面中使用HTML服务实现UI服务
- 2. 用静态HTML网站替换Tomcat服务器上的网站
- 3. 在Pelican静态网站中托管原始HTML页面
- 4. 访问网页服务页面加载
- 5. GO:服务静态页面
- 6. 服务静态页面ember.js
- 7. 从Struts2.5 Web服务器访问外部项目的静态网页资源
- 8. 如何从asp.net中的web服务访问网页控件?
- 9. 访问静态页面时不要连接到mysql服务器
- 10. 如何控制外部网站访问我的Web服务?
- 11. 在wordpress中使用.htaccess服务静态html页面
- 12. Web服务,访问html页面?获取错误?
- 13. MicrosoftAjax.js,SOAP Web服务和静态HTML
- 14. 静态HTML页面
- 15. 静态网站与微服务?
- 16. 如何在更新网站时显示静态页面(ASP.NET 4.0)
- 17. 网站中有大量静态页面的问题
- 18. 为网站严格使用静态html文件,jquery,ajax和json web服务?
- 19. 使用spring从jar文件中访问静态html页面
- 20. 缓存静态HTML网站
- 21. Joomla到静态HTML网站
- 22. 使网站可通过IIS服务器和静态IP在线访问
- 23. java:在静态IP上部署Web服务并从外部网络访问
- 24. 向网站添加一些静态Html页面:好/坏习惯?
- 25. Heroku HTML静态网站不允许json访问?
- 26. 访问Joomla网站页面的问题
- 27. ASP.NET网站 - 如何为Web窗体网站构建Web服务
- 28. 从aspx页面访问静态变量
- 29. PHP网站转换为静态HTML网站 - 链接问题
- 30. 转到网页静态文件服务
什么类型的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