如何调用一个ASP.Net Web服务的JavaScript [英] How to call an ASP.Net Web Service in javascript

查看:188
本文介绍了如何调用一个ASP.Net Web服务的JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

正如标题状态,我试图从JavaScript调用写在ASP.Net Web服务(同样的解决方案,但在Visual Studio中不同的项目)。由于我增加了在此之前调用它在VB.Net服务Web引用,我试图通过直接调用它来使用此引用。

在Default.aspx页的身体,我有这个code:

 < ASP:的ScriptManager ID =ScriptManager1=服务器>
<服务及GT;
< ASP:服务引用路径=〜/ App_WebReferences /本地主机/ ServiceName.discomap将InlineScript =真/>
< /服务及GT;
< / ASP:ScriptManager的>

但在JavaScript中,我根本无法打电话给我服务。任何人都可以解释我怎么样?我愿意做这样的事情:

 <脚本类型=文/ JavaScript的>
 警报(ServiceName.HelloWorld())
< / SCRIPT>


解决方案

终于找到了我认为是做了正确的方式,它不需要jQuery的,也不要为HTT prequest或任何奇怪的解决方法。下面是相关的code:

 <%@页面语言=VBAutoEventWireup =false的codeFILE =Default.aspx.vb继承=_默认%GT;!< D​​OCTYPE HTML PUBLIC -  // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">< HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
<头=服务器>
    <脚本SRC =WebService.asmx / JS类型=文/ JavaScript的>< / SCRIPT>
    <脚本类型=文/ JavaScript的>
        回调函数(MSG){
            警报(MSG);
        };        函数的HelloWorld(){
            WebService.HelloWorld(回调);
        };
    < / SCRIPT>
    <标题>< /标题>
< /头>
<身体GT;
    < D​​IV ID =测试的onclick =的HelloWorld();>
        点击这个
    < / DIV>    <表ID =form1的=服务器>
    < ASP:的ScriptManager ID =ScriptManager1=服务器>
      <服务及GT;
        < ASP:服务引用路径=〜/ WebService.asmx/>
      < /服务及GT;
    < / ASP:ScriptManager的>
    < /表及GT;
< /身体GT;
< / HTML>

As the title states, I'm trying to call a web service written in ASP.Net (Same solution, but different project in visual studio) from javascript. Since I added the web reference for the service prior to this for calling it in VB.Net, I tried to use this reference by directly calling it.

In the body of the Default.aspx page, I have this code:

<asp:ScriptManager id="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/App_WebReferences/localhost/ServiceName.discomap" InlineScript="true" />
</Services>
</asp:ScriptManager>

but in javascript, I can't call my service at all. Could anyone explain me how? I'd want to do something like this:

<script type="text/javascript">
 alert(ServiceName.HelloWorld())
</script>

解决方案

Finally found what I think is the right way to do it, it doesn't need jQuery at all, nor httprequest or any weird workaround. Here's the related code:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="WebService.asmx/js" type="text/javascript"></script>
    <script type="text/javascript">
        function callback(msg) {
            alert(msg);
        };

        function HelloWorld() {
            WebService.HelloWorld(callback);
        };
    </script>
    <title></title>
</head>
<body>
    <div id="test" onclick="HelloWorld();">
        click this
    </div>

    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
      <Services>
        <asp:ServiceReference Path="~/WebService.asmx" />
      </Services>
    </asp:ScriptManager>
    </form>
</body>
</html>

这篇关于如何调用一个ASP.Net Web服务的JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆