0

我正在使用 javascript 访问以下 WCF Ajax Web 服务。

[OperationContract]
    public string Test()
    {
        return "test";
    }

我正在使用下面的 javascript 来执行该方法并将一个按钮连接到该函数。

<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
    <asp:ServiceReference Path="~/AjaxService.svc" />
</Services>
</asp:ScriptManager>

<script type="text/javascript">
function TestFunction() {
    alert(JSON.stringify(AjaxService.Test()));
}
</script>

现在,当我运行代码时,警报显示未定义。但是,当我签入 firebug 时,我可以看到 Webmethod 实际上工作正常。我收到 {"d":"test"} 的 http 响应。

如何访问我从 javascript 中的 Ajax Web 方法返回的字符串?

4

1 回答 1

0

首先,尝试使用 jQuery 进行 JSON 解码以支持多种浏览器,例如:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

然后您可以使用以下方法解码 JSON 字符串:

var response = $.parseJSON(AjaxService.Test());
alert(response['d']); // This should show 'test'
于 2013-03-25T00:27:07.413 回答