Javascript 在c中调用aync方法时获取ajax返回值#

Javascript 在c中调用aync方法时获取ajax返回值#,javascript,c#,jquery,.net,ajax,Javascript,C#,Jquery,.net,Ajax,在客户端,我使用Jquery函数通过ajax检索值: $.ajax({ type: "POST", url: "/my-page.aspx/checkout", contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { alert(response.d); }, fail

在客户端,我使用Jquery函数通过ajax检索值:

$.ajax({

    type: "POST",
    url: "/my-page.aspx/checkout",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {

        alert(response.d);       

    },
    failure: function (response) {

        //alert(response.d);

    }

});
这是服务器端异步功能:

[System.Web.Services.WebMethod]
   public async static Task<string> checkout()

    {

        string r = await afrekenen();

        return r;
    }
[System.Web.Services.WebMethod]
公共异步静态任务签出()
{
字符串r=await afrekenen();
返回r;
}

我在ajax成功部分中检索到一个值,但它属于“Object”类型。你知道怎么解决这个问题吗?在调试时,方法“checkout()”的返回值是一个字符串…

在本例中,异步返回一种任务字符串类型 任务T包含一个“Result”属性来存储返回值。 因此,当您操作json对象时。它应该 console.log(response.d.Result);
或者执行console.log(JSON.stringify(response.d))并检查是否包含其他属性。

尝试
console.log(response)
并告诉我们控制台中的输出是什么。
alert()
仅输出字符串。您传入了一个对象,因此得到了该对象的字符串表示形式,即文本
[object object]
@Sven,但您希望得到什么
complete
函数将对象作为其第一个参数,因此它显然不能是字符串-。它是一个对象。它可以是一个字符串@EugenePodskal,你可以在同一文档中的其他注释中看到。我用c#返回一个字符串,所以我希望用javascript;-)返回一个字符串。当我使用这种方法处理普通的c#webmethod(无异步方法)时,我会得到一个字符串作为returnvalue。。。但是这个异步方法返回一个类型为“Task”的对象,我不知道如何在javascript中获取返回对象的字符串值……虽然这段代码可能会回答这个问题,但提供关于如何和/或为什么解决这个问题的附加上下文将提高答案的长期价值。