Ich möchte wissen, warum es so schwer ist, eine einfache JSON-Zeichenkette in einem /:parameter
zur Verfügung zu stellen. Ich habe viele Beispiele verfolgt, aber nichts Konkretes gefunden.JQuery-JSON-Objekt an NodeJs senden Restify
Ich habe den folgenden Code im Frontend.
$("#btnDoTest").click(function() {
var jData = {
hello: "world"
};
var request = $.ajax({
url: "http://localhost:8081/j/",
async: false,
type: "POST",
data: JSON.stringify(jData),
contentType: "application/javascript",
dataType: "json"
});
request.success(function(result) {
console.log(result);
});
request.fail(function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});
});
Ich bin erfolgreich in Senden einfachen Textes, wenn ich die param nach den j/
verketten. Aber was ich senden möchte, ist ein Objekt wie dieses {hello:"world"}
und rekonstruiere es zurück in nodeJS und arbeite damit.
--edit:
This is my nodejs file
/* the below function is from restifylib/response.js */
var restify = require("restify");
/* create the restify server */
var server = restify.createServer({
});
server.use(restify.bodyParser({ mapParams: true }));
server.use(
function crossOrigin(req,res,next){
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
return next();
}
);
server.post('/j/', function (req, res, next) {
//res.send(201,"REceived body: "+JSON.stringify(req.params));
res.send(201,"REceived body: "+JSON.stringify(req.params));
return next();
});
var port = 8081;
server.listen(port);
console.log("Server listening on port " +port)
Jede mögliche Hilfe dank geschätzt.
0x
Danke, 'contentType: "Anwendung/x-www-form-urlencoded "" hat auch bei mir funktioniert. –