AJAX 从 webmethod 获取布尔值 asp.net

本文关键字:asp net 布尔值 获取 webmethod AJAX | 更新日期: 2023-09-27 18:31:16

我试图从网络方法中获取布尔值,但得到了 xml 字符串。不想在客户端上分析 XML。在.net MVC中,我只是通过返回JSON来实现它,如何通过WebForms做到这一点?

网络方法:

[System.Web.Services.WebMethod]
    public bool MyService(string _container)
    {
       return true;
    }
    

AJAX 调用:

$.ajax({
        type: "POST",
        url: '/WebMethods.asmx/MyService',
        contenttype: "application/json; charset=utf-8",
        data: { _container: JSON.stringify(params) },
        datatype: 'json',
        success: function (data) {
           if(data) {
              MakeStuff();
           }
        }
    });

我得到了什么: <boolean xmlns="%myWebmethodUrl%">true</boolean>

AJAX 从 webmethod 获取布尔值 asp.net

您可以

直接返回响应,如下所示

public void MyService(string _container)
{
   Context.Response.Write(true);
}

$.ajax({
        type: "POST",
        url: '/WebMethods.asmx/MyService',
        contenttype: "application/json; charset=utf-8",
        data: { _container: JSON.stringify(params) },
        datatype: 'json',
        success: function (data) {
        var BoolData = (data=="True") ? true : false;
           if(BoolData) {
              MakeStuff();
           }
        }
    });