我是网络开发的新手,所以为了测试一些东西我用web api创建了一个空的ASP.NET项目。我写了以下控制器和javascript文件:
控制器:
namespace MyNamespace.Controllers
{
public class PairController : ApiController
{
public Point Get([FromUri]int rows, [FromUri]int cols)
{
return new Point(rows, cols);
}
}
}
JS:
var api = 'api/Pair';
var question = '/?rows=' + $('#rows').val() + '&cols=' + $('#cols').val();
var url = api + question;
$.getJSON(url, function (data) {
alert('success');
console.log(data[0].X + ' ' + data[0].Y);
}).fail(function () {
alert('error!');
});
当我查看控制台时,我看到两个'未定义''线。
我期待看到行和列输入字段的值
这是为什么?我的理解是,在服务器端,Web服务器看到客户端需要json格式的答案,因此它将点序列化为json,并发送答案:
{
"X": rows input value,
"Y": cols input value,
"IsEmpty": something
}
答案 0 :(得分:0)
当您编写data[0].X
时,您尝试访问数组的第一项。但是在后端,你不会返回一个Point of Point(List<Point>
)而是一个Point。因此,它作为对应
{
"X": rows input value,
"Y": cols input value,
"IsEmpty": something
}