C# 想要通过javascript或jquery调用webservice而不需要任何c代码吗

C# 想要通过javascript或jquery调用webservice而不需要任何c代码吗,c#,javascript,jquery,asp.net,web-services,C#,Javascript,Jquery,Asp.net,Web Services,我只想通过javascript/jquery访问asp.net web服务,不需要任何c代码。 我已经生成了如下所示的简单web服务 [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] [WebMethod] public string Test

我只想通过javascript/jquery访问asp.net web服务,不需要任何c代码。
我已经生成了如下所示的简单web服务

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
[WebMethod]
public string TestNameService(string name)
 {
    return "data-" + name;
 }
在另一个域中,我使用文本框和按钮发送请求,并在标签上显示输出
像这样

<asp:TextBox ID="txt_name" runat="server"></asp:TextBox>
<asp:Button ID="call_service" runat="server" Text="Call Service" OnClientClick="CallService(); return false;" />
<asp:Label ID="lblMsg" runat="server" Text="" />



我尝试过使用这个jquery,它在同一个域中工作。。但我无法访问多个域上的方法,如果我访问该方法,则只能得到空白响应

<script type="text/javascript">
        function CallWebService() {
            $.ajax({
                type: "POST",
                url: "http://......myurl..../WebService.asmx",
                data: "{'name':'" + $("#txt_name").val() + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: ShowData,
                error: error

            });
        }
        function ShowData(data, status) {
            $("#lblMsg").html(data.d);
        }
        function error(request, status) {  
            alert(request.statusText);
        }
    </script>

函数CallWebService(){
$.ajax({
类型:“POST”,
url:“http://......myurl..../WebService.asmx",
数据:“{'name':'”+$(“#txt_name”).val()+“}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:ShowData,
错误:错误
});
}
功能显示数据(数据、状态){
$(“#lblMsg”).html(data.d);
}
函数错误(请求、状态){
警报(请求状态文本);
}

如果我理解您的问题,您正常的javascript ajax请求将失败,因为您的解决方案似乎位于不同的域上

您需要使用.NET平台也支持的名为的技术,请参阅:


如果您使用的是跨域,则必须使用以下命令指定jquery

$.support.cors = true;
$.ajax({
                type: "POST",
                url: "http://......myurl..../WebService.asmx",
                data: "{'name':'" + $("#txt_name").val() + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: ShowData,
                error: error

            });

如果不起作用,请告诉我。

您是否尝试过使用jquery ajax方法调用webservice?@mayur是的,我尝试过,但不起作用。。您遇到了什么错误?@Brad larson-这不是您编辑过的问题。。这也是一个答案,因为它在同一个领域工作。我想在多路径域中运行,所以我必须写下答案,以便其他用户可以使用..谁需要在同一域中通过java脚本运行web服务。。如果你有答案,那么告诉其他人不要编辑问题,因为你改变了问题的方向。@Brad Larson我没有任何问题。一些用户想知道我在同一个域中的脚本,所以我已经发布了作为答案,以获得多个域的修改答案。你知道这个问题吗?你可以在mayur borad给出的jquery中看到相同的答案。ans也在为同一个域工作。Brad我还在等待答案,如果你知道任何答案,请给出答案,除了修改问题和评论。我发布了脚本作为答案,因为我想从用户那里得到不同的想法来代替相同的脚本想法,所以如果可能的话,保持我的问题/答案不变。谢谢。谢谢你的回复,但根据要求,我必须用简单的javascript/jquery来完成。。我已经看过了,和我的剧本一样。。在我的脚本中,我无法访问该方法,如果我访问该方法,则只会得到空白响应。@Shirish启用CORS后,您将能够使用javascript onlyok执行该操作。我将尝试,因为我从未使用过该CORS,所以我必须阅读所有内容。。你看过我的剧本吗?你对这个脚本有什么想法吗?我已经试过了,但我现在遇到了同样的问题,它显示-->引用错误:调用服务未定义如果我在url中添加调用服务,那么它也会出现同样的问题。。比如-->http://......myurl..../WebService.asmx/TestNameServiceIf 您还没有第三方Web服务,然后在您的Web服务项目的Global.asmx的应用程序_BeginRequest事件上设置断点。如果没有此事件,请创建它。并检查您的调试器点是否已启动?我已在本地服务器上运行,并且在这方面遇到了两个问题如果我在url中添加服务名称,则会出现“500内部服务器错误-http://---url---/WebService.asmx/TestNameService“'如果我简单运行web服务,则显示-'405方法不允许web服务-http://---url---/WebService.asmx"“您能打开您的Web服务吗?你是在用localhost打开它吗?当你调用ajax时,你是在Global.asmx上得到断点吗?