Ich habe noch nie Frisby oder Superagenten verwendet, aber ich finde, es gibt zwei Fragen hier:
1. passing an invalid JSON from client to server using POST method.
was nicht möglich ist, da wird es bald auf der Client-Seite selbst abgelehnt werden, und Sie Es wird ein Fehler angezeigt, bevor eine POST-Anfrage an den Server gestellt wird. (Weil, da es nur Strings, während sie mit http arbeiten, wird der Client selbst versuchen, das JSON stringify, wo es mit ungültiger JSON stecken erhalten)
2. pass an invalid JSON just as a string
Beispiel: Stellen Sie eine Zeichenfolge wie folgt mit JQuery
$.post("demo_test_post.asp",
{
name: 'pqr:{"abc":"abc",}' // see there is a comma at the end making JSON invalid
},
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
Dies wird effektiv die ungültige JSON (Name in diesem Fall) an den Server als Srting übergeben. Dazu müssen Sie jedoch die Zeichenfolge unter Verwendung von JSON.parse()
zu JSON analysieren, bevor Sie sie verwenden können. Und wenn Sie versuchen, dass Sie diese:
SyntaxError: Unexpected token p at Object.parse (native) at Object.app.get.res.send.data [as handle] (/home/ubuntu/workspace/TapToBook.js:35:19) at next_layer (/home/ubuntu/workspace/node_modules/express/lib/router/route.js:103:13) at Route.dispatch (/home/ubuntu/workspace/node_modules/express/lib/router/route.js:107:5) at proto.handle.c (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:195:24) at Function.proto.process_params (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:251:12) at next (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:189:19) at Layer.staticMiddleware [as handle] (/home/ubuntu/workspace/node_modules/express/node_modules/serve-static/index.js:55:61) at trim_prefix (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:226:17) at proto.handle.c (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:198:9)
Also je nachdem, was Sie für verwenden, um Pakete Erholung, können Sie ungültige JSON als String übergeben, aber es nicht verwenden.
Können Sie Beispiele für die von Ihnen verwendete Zeichenfolge und Objekte angeben? – Demurgos
@Demurgos Ein Beispiel hinzugefügt, danke. – alefteris
Wenn Sie diesen Test benötigen, muss eine Situation eintreten, in der Sie erwarten, dass dieser Fehler auftritt. Können Sie ein Szenario bereitstellen, wenn dieser Fehler auftritt? – freele