Javascript Ajax POST请求发送未定义到Express

Javascript Ajax POST请求发送未定义到Express,javascript,ajax,node.js,express,Javascript,Ajax,Node.js,Express,我正试图发送一些要分析的数据。客户端上的脚本如下所示: function addURL(link) { console.log("Adding url..."); $.ajax({ type: "POST", url: location.protocol + "//" + location.host + "/shorturl/create", crossDomain: true,

我正试图发送一些要分析的数据。客户端上的脚本如下所示:

function addURL(link) {
        console.log("Adding url...");
        $.ajax({
            type: "POST",
            url: location.protocol + "//" + location.host + "/shorturl/create",
            crossDomain: true,
            contentType: "application/json",
            data: JSON.stringify({url:link}),
            success: function(data){
                $("#shortenedURL").html(data.shortenedURL);
            },
            error: function(err){
                console.log("Ran into an error... " + err);
            }
        });
}
在我的express应用程序中的一个路由器上,我有:

router.post("/create", function(req, res){

console.log(req.body);
console.log(req.body.url);
var url = req.body.url; }
我得到“undefined”,然后是“undefined”的“cannotgetproperty”url

我不知道哪里出了问题…

您需要使用:

app.js:

var bodyParser = require('body-parser')
  , app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

您确定要发送的url:链接在ajax上有值吗?您使用的是哪个expressjs版本并发布您的app.js代码