Я использую комбинацию Node and Angualr JS
Alongwith express-4
Возвращение успеха, используя res.send
В моем коде я пытаюсь отправить newSourceId
через res.send
. Я могу получить newSourceId, но когда я отправлю его с помощью res.send
, он попадает в error
вместо того, чтобы попасть в success
.
Я также пробовал использовать res.sendStatus(newSourceId)
, но не повезло!
Ниже узел JS часть:
app.post('/addObservationDetail',function(req,res){
var newSourceId = -1;
Observation.create({obv_source:req.body.source,obv_waveband:req.body.waveband,prpsl_id:req.body.pId}
).then(function(result) {
Observation.findAll({
attributes: [['obv_id','id']],where:{prpsl_id:req.body.pId},order: [["obv_id","DESC"]],limit: 1
}) .then(function(rows) {
console.log("Obv_Id is = "+rows[0].dataValues.id);
newSourceId=rows[0].dataValues.id;
console.log("newsrc===="+newSourceId);
res.send(newSourceId);
});
});
});
Это Угловая JS часть:
$scope.updateObsDet = function(obs_detail,index) {
var url = "/";
if(obs_detail.sourceId == null){
url += "addObservationDetail";
$http({
method:'POST',
url:url,
headers:{'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},
transformRequest:function(obj){
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data:{source:obs_detail.source,waveband:obs_detail.waveband,pId:$scope.proposal.proposalId}
}).success(function(data){
alert("New observation added"); //should come in here
updateSourceId(data,index,obs_detail);
}).error(function(data){
alert(data); //getting in here
});
} else {
url += "updateObservationDetail";
data = {
source:obs_detail.source,
waveband:obs_detail.waveband,
sourceId:obs_detail.sourceId
};
$http.post(url,data).success(function(data){
alert(data);
}).error(function(data){
alert(data);
});
}
};
PS: Я не могу изменить угловую часть кода, изменения должны быть сделаны в части узла JS.
вы пытались отправить в формате JSON. может быть, это поможет вам? и ** Observation.findAll ** это всегда будет возвращать некоторые записи? –
@MuhammadUsman да, он всегда будет возвращать записи, как установить тип как JSON, нужно ли указывать его отдельно, я использую 'express-4' – Abhishek
, пожалуйста, посмотрите этот ответ, чтобы вернуть ответ json http: // stackoverflow .com/questions/19696240/proper-way-to-return-json-using-node-or-express –