1

我正在开发一个使用 AngularJS+ng-resource 构建的 SPA,它与使用 Node.js+Express.js+Sequelize 构建的 RestAPI 一起工作。

问题:express.js 接受并将queryString 解析为 Json Object。如果你使用这个 json 对象作为参数,Ng-resource 会产生一个错误的 queryString。

这是 angularJS ng-resource RestAPI 调用:

var queryString = {include: [{model: 'player', attributes: ['name','surname']}], where: {club: 32} };

Contract.query(queryString,
    function(data) {
        vm.club_players = data;
    }
);

那应该是这样的:

include[1][attributes][]:surname&
include[1][attributes][]:name&
include[1][model]:player&
where[club]:32

实际上,如果使用这个 queryString 而不是普通的 json 对象,它会起作用:

var queryString = {'where[id_club]': id_club, 'include[1][model]':'real_player', 'include[1][attributes][]':'id', 'include[1][attributes][]':'name', 'include[1][attributes][]':'surname'};
4

0 回答 0