Ich arbeite mich durch eine Migration von Parse.com zu Parse Server und kann keine Daten aktualisieren. GET funktioniert problemlos, ohne zuvor vorhandenen Code, der mit Parse.com arbeitete, zu ändern.Parse Server gibt "{" code ": 111," error "zurück:" Dies ist keine gültige Datei "}" für PUT, aber nicht GET. Warum?
ich eine Variante dieses für jede PUT:
{
method:"PUT"
path:"/parse/classes/Order/WzxHamIlOq"
status:400
text:"{"code":111,"error":"This is not a valid File"}"
}
Ein perfekt zu /parse/classes/Order/WzxHamIlOq
Arbeiten bekommen.
Ich habe die 111-Code nachgeschlagen und das einzige Ding in der Dokumentation, die darauf verweist, scheint nicht zutreffen. Hier
ist der Code, der nicht funktioniert:
OrderController.updateOrder = function(req, res) {
var order = req.body;
superagent
.put(config.API_URL + '/classes/Order/' + order.objectId)
.set('X-Parse-Application-Id', config.keys.appId)
.set('X-Parse-Master-Key', config.keys.master)
.send({
'orderNo': order.orderNo,
'poNO': order.poNO,
'invoiceNo': order.invoiceNo,
'dueDate': order.dueDate,
'dateIn': order.dateIn,
'jobName': order.jobName,
'notes': order.notes,
'salesmanID': {
__type: 'Pointer',
className: 'Salesman',
objectId: order.salesmanID.objectId
},
'costReview': order.costReview,
'inProduction': order.inProduction,
'invoice': order.invoice,
'paid': order.paid,
'commission': order.commission,
'productionNotes': order.productionNotes,
'proof': {
__type: 'File',
name: order.proof.name
},
'tags': order.tags,
'artUrl': order.artUrl
})
.end(function(err, results){
if(err) {
res.status(500).send({error: err});
}else if(results.badRequest){
console.error(results.error);
res.status(results.status).send({error: results.error});
}else {
res.send(results.body);
}
});
};
Hier ist die GET auf dem gleichen Weg, das funktioniert:
OrderController.getOrderInfo = function(req, res) {
superagent
.get(config.API_URL + '/classes/Order/' + req.params.id)
.set('X-Parse-Application-Id', config.keys.appId)
.set('X-Parse-Master-Key', config.keys.master)
.query('include=salesmanID,imprintTypeID,customerID')
.query('where')
.end(function(err, results) {
if(err) {
console.log(err);
} else if(results.badRequest){
console.error(results.error);
res.status(results.status).send({error: results.error});
}else {
res.send(results.body);
}
});
};
Ja, mit Super-Agent anstelle der sdk ist dumm . Ja, ich habe diesen Code geerbt.
Kann mir jemand in die richtige Richtung zeigen?
ich glaube, das Problem wäre, wenn Sie versuchen, Datei zu speichern In der Reihe würde ich versuchen, alle Zeilen zu entfernen, die Sie zu speichern versuchen und herauszufinden, welcher den Fehler zurückgibt ... oder vielleicht müssen Sie Hauptschlüssel wegen der Berechtigungen verwenden? Ist die Datei größer als 20 MB? –
Danke für den Kommentar. Ich bin in der Lage, mit nur einer einzigen Eigenschaft zu speichern. Wird von hier aus arbeiten. – RyanDagg