在ASP.Net 4中从jQuery访问asmx服务的结果?

时间:2012-02-17 01:51:19

标签: jquery asp.net ajax asmx

我无法访问从我的网络服务返回的结果。当我在firebug中监视它时,我可以看到返回的结果是正确的,但我不确定如何访问它们。我收到错误“未定义属性data.d的引用”

以下是调用服务的代码:

<script type="text/javascript">
$(document).ready(function () {
$("#Button1").click(function () {
$.ajax(
{
contentType: "application/json",
dataType: "json",
type: "POST",
url: "service/myService.asmx/getGameTitles",
data: "{ 'Genre': 'JRPG' }",
complete: Success,
error: Error,
processData: false
})
});

function Success(data, status) {
$("#MainContent_Label1").html(data.d);
}
function Error(request, status, error) {
$("#MainContent_Label1").html(request.statusText);
}
});
</script>

这是我在用firebug监听电话时看到的:

d   ["Game 1", "Game 2"]

0   "Game 1"

1   "Game 2"

Success()
data = Object { readyState=4, responseText="{"d":["Game 1","Game 2"]}", status=200, more...}
status = "success"

我不确定如何访问结果...任何提示?

谢谢!

1 个答案:

答案 0 :(得分:1)

在成功处理程序中,您可以以

的形式访问结果
function Success(data, status) {
 console.log(data.d[0]);
 console.log(data.d[1]);
}