Javascript Web服务C#返回未定义的值

Javascript Web服务C#返回未定义的值,javascript,c#,ajax,Javascript,C#,Ajax,我尝试了一个简单的web服务(只是测试JavaScript代码中是否会填充该值)。我尝试了一个非常简单的代码片段,但它返回“undefined”。请告知。我尝试了一些解决办法,但没有成功 下面是关于asmx文件的简单代码 [WebMethod] public string HelloWorld(string param1, string param2) { return "Hello World" + param1 + ":" + param2; } 下面是我的javascript上的代

我尝试了一个简单的web服务(只是测试JavaScript代码中是否会填充该值)。我尝试了一个非常简单的代码片段,但它返回“undefined”。请告知。我尝试了一些解决办法,但没有成功

下面是关于asmx文件的简单代码

[WebMethod]
public string HelloWorld(string param1, string param2)
{
   return "Hello World" + param1 + ":" + param2;
}
下面是我的javascript上的代码

$.ajax({
   url: "SimpleService.asmx/HelloWorld",
   type: "POST",
   data: {
      'param1': 'value1',
      'param2': 'value2'
   },
   success: function(response) {
      alert(response.d);
   }
});
我尝试使用response.text和response.value获得结果,但仍然得到一个未定义的值

success: function(response) {
      alert(response.text);
      alert(response.value);
   }
在我的asmx文件中, 我还尝试将[WebMethod]替换为

[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld(string param1, string param2)
{
   return "Hello World" + param1 + ":" + param2;
}
请告知从我的web服务获取结果的正确格式


谢谢

您应该将
[ScriptService]
属性添加到您的服务类中,如下所示

[ScriptService]
public class SimpleService : System.Web.Services.WebService
之后,更改ajax调用。按如下方式放置contentType和更改数据:

    $.ajax({
        url: "SimpleService.asmx/HelloWorld",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ param1: 'value1', param2: 'value2' }",
        success: function (response) {
            alert(response.d);
        }
    });
这是一个相关的问题,可能还有许多其他问题与您的问题类似,并且已经得到了回答。