2011-05-06 162 views
2

我尝试使用JQuery从Web服务进行简单调用。 它给了我“500内部服务器错误”。 这里是我的脚本:500内部服务器错误ASP.NET

<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#sayHelloButton").click(function(event) { 
       $.ajax({ 
        type: "POST", 
        url: "dummyWebsevice.asmx/HelloToYou", 
        data: "{'name': '" + $('#name').val() + "'}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function(msg) { 
         AjaxSucceeded(msg); 
        }, 
        error: AjaxFailed 
       }); 
      }); 
     }); 

     function AjaxSucceeded(result) { 
      alert(result.d); 
     } 

     function AjaxFailed(result) { 
      alert(result.status + ' ' + result.statusText); 
     } 
    </script> 

这里是我在网络服务端代码:

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptService] 

public class dummyWebservice : System.Web.Services.WebService 
{ 
    [WebMethod()] 
    public string HelloToYou(string name) 
    { 
     return "Hello and welcome, " + name; 
    } 
[WebMethod()] 
public string sayHello() 
{ 
    return "Hi!"; 
} 

}

我很抱歉,如果我的问题是多余的,但我不能似乎找到了我的错误,我对此仍然很陌生。 预先感谢您。

我从这个页面之后的例子: http://dotnetslackers.com/articles/ajax/Using-jQuery-with-ASP-NET.aspx

+0

当您在Web服务方法中放置断点时,您会得到什么?它是否像你期望的那样触及了这个方法?传入参数中有什么? – 2011-05-06 06:18:26

回答

1

你应该把你的数据,这样的:

data: {'name': $('#name').val() }, 

希望这有助于。干杯

3

我试过你的代码,它工作正常。它看起来像你已经重命名Visual Studio中的服务名称。 请检查您是否指向正确的claas

<%@ WebService Language="C#" 
CodeBehind="~/App_Code/WebService.cs" Class="dummyWebservice" %> 
+0

我重新做了代码,现在它似乎工作。我想也许我不小心改变了一些东西。 非常感谢您的帮助! – Melissa 2011-05-11 02:26:15

+0

这节省了我的时间,谢谢 – shanish 2012-07-05 08:03:05