这里我需要在滚动中搜索名称,因为我在get call中发送搜索数据查询字符串,但我需要在post中。
这是我的服务器和客户端控制器路由和服务。此外,我在服务器端处理搜索。如何发布用户已被搜索的数据,并将其传递给客户端和服务器端。
client controller service:
'use strict';
angular.module('details').factory('DetailService', ['$resource',
function($resource) {
return $resource('details', {
},
searchUsers:{
method: 'GET',
}
});
}
]);
Angular controller:
$scope.searchServer = function(searchData){
DetailService.searchUsers({search:searchData},function(response){
}, function(error){
$scope.status = 'Unable to load customer data: ' + error.message;
});
}
my Server side controller:
exports.searchCust = function (req, res) {
var strWhere = {
corporateName: search
};
db.Customer.findAll({
where: [strWhere],
}).then(function (customers) {
if (!customers) {
return res.status(400).send({
message: 'Customer not found.'
});
} else {
res.jsonp(customers);
}
})
};
my server sideroute:
app.route('/details').all(customersPolicy.isAllowed)
.get(details.searchCust);
app.param('search', details.searchCust);
};
答案 0 :(得分:0)
我没有在所有细节中尝试,因为它看起来像是复制并粘贴在一起而没有阅读基础知识。但是,如果您想要POST请求,则需要在节点代码和Angular代码中设置它们,请参见下文。更重要的是,Angular没有使用JSONP,它使用JSON,所以你需要设置它。在searchUsers
- 资源调用中,您只实现了错误分支,因此结果将消失。您现在可以在$scope.searchResults
找到它们。
客户端控制器服务:
'use strict';
angular.module('details').factory('DetailService', ['$resource',
function($resource) {
return $resource('details', {},
searchUsers: {
method: 'POST',
}
});
}]);
角度控制器:
$scope.searchServer = function(searchData) {
DetailService.searchUsers({
search: searchData
}, function(response) {
$scope.status = "OK";
$scope.searchResults = response;
}, function(error) {
$scope.status = 'Unable to load customer data: ' + error.message;
});
}
我的服务器端控制器
exports.searchCust = function(req, res) {
var strWhere = {
corporateName: search
};
db.Customer.findAll({
where: [strWhere],
}).then(function(customers) {
if (!customers) {
return res.status(400).send({
message: 'Customer not found.'
});
} else {
res.json(customers);
}
})
};
我的服务器端路由:
app.route('/details').all(customersPolicy.isAllowed)
.post(details.searchCust);
app.param('search', details.searchCust);
};