从Ajax JQuery获取返回字符串的值

时间:2015-11-21 18:37:00

标签: javascript jquery json ajax

我有一个Web服务,它在使用JQuery Ajax调用后向数据库添加一个项目。 Web服务返回一个字符串,我无法只检索返回的字符串部分。相反,我使用{"d":"The message I want to display"}收到alert(data);

我还tried alert(Object.keys(JSON.parse(data))[0]);返回dalert(Object.keys(JSON.parse(data))[1]);alert(data.d);返回Undefined。这是我的代码看起来像

function AddAjaxJQuery() {
            var isbn = $('#<%= txtIsbn.ClientID %>').val();

            var pdata = { "book": { "Isbn": isbn} };

            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/BookWebService.asmx/InsertBook",
                data: JSON.stringify(pdata),
                dataType: 'text',
                async: true,
                success: function (data, textStatus) {
                    alert(data);
                },
                error: function (error) {
                    alert(data);
                }
            });
        }

2 个答案:

答案 0 :(得分:3)

如果您的数据是字符串,那么您应首先将其解析为JSON:

var dataInJson = JSON.parse(data);
alert(dataInJson.d)

答案 1 :(得分:0)

您必须访问数据(响应)的属性d,因此使用

替换成功回调
success: function (data, textStatus) {
    alert(data.d);
},