我将一组类似 GUID 的对象发送到我的 MVC 控制器,如下所示:
$.ajax({
type: 'GET',
url: 'http://localhost:61975/Song/GetByIds',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: {
songIds: JSON.stringify(songIds)
},
success: function (data) {
},
error: function(error) {
console.error(error);
}
});
在我的请求标头中发送的数据如下所示:
歌曲名称:[“6cb44f55-9fd5-4540-9b11-75ccce816d67”]
我的 MVC3 控制器方法如下所示:
[HttpGet]
public ActionResult GetByIds(List<Guid> songIds)
{
SongManager songManager = new SongManager(SongDao, PlaylistDao, PlaylistItemDao);
IList<Song> songs = songManager.GetByIds(songIds);
return new JsonDataContractActionResult(songs);
}
在这个实现中,我收到一个非空的 List 对象,但它始终是空的。我的错误是什么?
编辑:如果我这样发布而不是 GET 它工作正常。怎么会??
$.ajax({
type: 'POST',
url: 'http://localhost:61975/Song/GetByIds',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({
songIds: songIds
}),
success: function (data) {
loadedSongs = loadedSongs;
if (callback) {
callback(data);
}
},
error: function(error) {
console.error(error);
}
});