在HTML中使用Web服务

时间:2013-04-02 09:50:46

标签: javascript html web-services

我创建了一个Web服务并保存了它的.wsdl文件。我希望通过提供URL来在我的HTML文件中使用此服务。

有人能告诉我如何在HTML中调用URL并使用它吗? 就像在这里完成的那样 http://www.codeproject.com/Articles/14610/Calling-Web-Services-from-HTML-Pages-using-JavaScr/

唯一的区别是我的网络服务没有像“asmx?wsdl”这样的扩展名。 这有什么不同吗? 我也遵循了该教程,但它没有产生任何输出。

谢谢你////

3 个答案:

答案 0 :(得分:9)

你绝对应该熟悉AJAX。 您可以使用jQuery提供的ajax功能。我认为这是最简单的方法。看看http://api.jquery.com/jQuery.ajax/

你可以像

一样使用它
$.ajax({
  url: "urltoyourservice.xml"
  dataType: "xml",
}).done(function(data) {
  console.log(data);
});

HTML本身不能使用Web服务。 Javascript绝对需要。 您的WSDL文件的存在看起来像您可能使用XML格式作为Web服务的返回。你必须在javascript中处理XML。因此,请查看Tim Downs解释。

但请记住,您的网络服务网址必须与您的消费HTML文件位于同一个域中。否则,您将收到cross-site-scripting error

答案 1 :(得分:1)

是的,您可以使用ajax但请记住,您无法跨域提出请求。消费Web服务应该在服务器端完成。

要进一步了解相关信息,请阅读How do I call a web service from javascript

答案 2 :(得分:1)

function submit_form(){
        var username=$("#username").val();
        var password=$("#password").val(); 
                var data = { loginName: username, password:password };
                $.ajax( {
                    type: "POST",
                    url:"Paste ur service address here",
                    data: JSON.stringify(data),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    async: false,
                    success: function(data){
                        var value = data.d;
                        if(value.UserID != 0){
                            alert.html('success');
                        }
                    },
                    error: function (e) {
                    }
                });  
        }

试试这会有帮助