我有一个Web服务,它在使用JQuery Ajax调用后向数据库添加一个项目。 Web服务返回一个字符串,我无法只检索返回的字符串部分。相反,我使用{"d":"The message I want to display"}
收到alert(data);
。
我还tried alert(Object.keys(JSON.parse(data))[0]);
返回d
,alert(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);
}
});
}
答案 0 :(得分:3)
如果您的数据是字符串,那么您应首先将其解析为JSON:
var dataInJson = JSON.parse(data);
alert(dataInJson.d)
答案 1 :(得分:0)
您必须访问数据(响应)的属性d
,因此使用
success: function (data, textStatus) {
alert(data.d);
},