0

我总是在博客中看到这样的代码:

$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "WebService.asmx/HelloWorld",
                    data: "{}",
                    dataType: "json",
                    success: function(msg) {
                        alert(msg.d);
                    }
                });

但我认为这仅适用于 asp.net 3.5。我无法使用 2.0 运行它。如何在我的应用程序中使用这些代码?

4

6 回答 6

2

您需要将此属性添加到您的网络服务器类

[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService

并将此属性赋予您的功能

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

从技术上讲,您不需要指定 responseformat,因为它会根据您在请求中指定的格式进行响应。并且您必须在请求中指定格式。

问候
K

于 2008-11-16T14:32:53.273 回答
1

如果您使用 jQuery 连接到服务器,则您的 HTML 中不需要ScriptManager

我认为你代码的其他部分是正确的。只需删除ScriptManager.

于 2010-01-05T14:45:25.550 回答
0

我已经知道这篇文章,但它对我没有帮助。

在我的示例应用程序中,我使用以下代码:

我的jQuery代码:

     $(document).ready(function() {            
        $('#clKaydet').click(function() {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "WebService.asmx/HelloWorld",
                data: "{}",
                dataType: "json",
                success: function(msg) {
                    alert(msg);
                }
            });

        });

    });

我的 HTML 代码:

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
    <div>

        <input type="button" id="clKaydet" runat="server" value="Kayıt" onclick="Kayit()" />
    </div>

    </div>
    </form>

我的网络服务代码:

  <WebMethod()> _
Public Function HelloWorld() As String
    Dim sText As String = "Hello"
    Return sText
End Function

有什么错误吗?

于 2008-11-15T08:50:58.457 回答
0

我们使用 jQuery 进行所有 DOM 操作,但是当将数据发送回服务器时,我们使用 ASP.Net AJAX 来利用自动生成的代理类

让生活变得真正简单!

于 2008-11-15T09:04:57.493 回答
0

我认为您缺少的一点是标有 WebMethod 标记的方法会将数据序列化为 XML,而不是 JSON。使用 ASP.NET MVC,您可以本机返回 JSON,但如果您想要将 JSON 用于 WebMethod,您可能需要编写自己的转换器。我建议尝试将 AJAX 调用的数据类型更改为“xml”,看看是否可行。

我也没有将 jquery 用于 AJAX(还),所以我还没有尝试过(还)。

于 2008-11-15T12:36:06.303 回答
0

总之,您是否这么说,我不能直接将这些代码与 asp.net 2.0 一起使用?

于 2008-11-15T21:28:15.247 回答