0

以下の WCF Ajax Web サービスにアクセスするために JavaScript を使用しています。

[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

まず、複数のブラウザーをサポートするために JSON デコードに jQuery を使用してみてください。たとえば、次のようにします。

<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 に答える