我正在使用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”:http:}的http响应。
如何在javascript中访问我从Ajax Web方法返回的字符串?
答案 0 :(得分: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'