.aJax:如何将返回的数据从服务转换为字符串

时间:2014-03-26 21:29:26

标签: jquery ajax json web-services

我使用webservice进行.ajax来电。该服务返回String om success:

这是电话:

$.ajax({
            type: "POST",
            url: "ISOEmails.asmx/UpdateEmailAddress",
            data: "{'isoNum':'" + strIsoNum + "','newEmail':'" + strNewEmail + "','userName':'" + strUserName + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data, status) {
                $('#MainContent_lblUpdateMessage').text("Old Email: " + JSON.stringify(data) + " New Email: " + strNewEmail);
            },
            error: function (request, status) {
                  //do something else
            }

成功后,在使用data时,我会使用以下格式返回JSON.stringify(data){"d":"test@test.com "}

没有所有奇怪的符号,返回正确的String的正确方法是什么?

谢谢

--- ---更新

现在以这种方式检索数据:

$('#MainContent_lblUpdateMessage').text("Old Email: " + (JSON.stringify(data.d)).replace('"', '') + " New Email: " + strNewEmail);

我以某种方式得到以下结果:Old Email: test@test.com" New Email: newtest@test.com

为什么我在老电子邮件之后有'''?

感谢的

2 个答案:

答案 0 :(得分:1)

如果您确定结果中始终有data.d,请使用d

答案 1 :(得分:1)

跳过JSON.stringify。它在这种情况下增加了引用。离开:

$('#MainContent_lblUpdateMessage').text("Old Email: " + data.d + " New Email: " + strNewEmail);

顺便说一句。替换仅适用于找到的第一个字符。您必须使用带有g标志的regexp来替换所有出现的内容。像:

x.replace(/"/g, '')