【发布时间】:2016-06-05 17:37:30
【问题描述】:
在客户端,我使用这个 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;
}
我在 ajax 成功部分检索了一个值,但它属于“对象对象”类型。知道如何解决这个问题吗? Whit调试,方法'checkout()'的返回值是一个字符串...
【问题讨论】:
-
试试
console.log(response),告诉我们控制台的输出是什么。 -
alert()只输出字符串。你传入一个对象,所以你得到该对象的字符串表示,即文字文本[Object object] -
@Sven 但是你期望得到什么?
complete函数将 Object 作为其第一个参数,因此它显然不能是字符串 - api.jquery.com/jquery.ajax。它是一个jqXHR 对象。 -
它可以是一个字符串@EugenePodskal,您可以在同一文档的附加说明中看到。
-
我在 c# 中返回一个字符串,所以我希望在 javascript 中返回一个字符串 ;-)。当我使用这种方式处理普通的 c# webmethod(没有异步方法)时,我得到一个字符串作为返回值......但是这个异步方法返回一个类型为“Task
”的对象,我不知道如何在javascript中获取返回对象的字符串值...
标签: javascript c# jquery .net ajax