POST 400(错误请求)聚合物应用程序

时间:2017-09-06 15:12:25

标签: javascript node.js polymer

我想将数据发送到数据库。我使用聚合物+ nodeJS。 我尝试了很多配置,但我总是有一个错误: POST 400(错误请求)

我使用3个文件application-header.html,index.js和sqlRequest.js。

application-header.html:这是我的前端html文件

<iron-ajax 
    method="POST"
    id="getNotif"
    on-response="notificationAjax"
    content-type="application/json"
    handle-as="json">
</iron-ajax>

<div class="notification" on-click="notificationMenu">
    <span class="notificationSpan" id="notificationNumber"></span>
    <span class="disNone notificationMenuCss" id="notifBar"></span>
</div>

<script>
    Polymer({
        notificationMenu: function() {  
document.querySelector(".notificationMenuCss").classList.toggle("disNone");
            var notifNumber = 
document.getElementById('notificationNumber').innerHTML;
            notifNumber = this.DataObj;
            this.$.getNotif.url = "/getNotifBack";
            this.$.getNotif.generateRequest();
        },

        notificationAjax: function(e) {
            this.$.getNotif.url = "/getNotifBack";
            this.$.getNotif.generateRequest();
        }
    });

index.js:这是我的一个JS后端文件

var express = require('express');
var app = require('express')();
var http = require('http').Server(app);
var router = express.Router();
var logger = require('./winstonConf.js');

router.post('/getNotifBack', function (req, res, next) {
    var essai = require('./sqlRequest.js');
    essai.notification(req.body, function (index) {
        res.send(JSON.stringify(index));
    });
});

sqlRequest.js:这是我的另一个JS后端文件

exports.notification = function (cb) {
    var mysql = require('mysql');
    var connection = mysql.createConnection({
        host: 'localhost',
        user: 'user',
        password: 'password',
        database: 'database'
    });

    var sqltable = "INSERT INTO notification VALUES (NULL, '1') ";
    connection.connect();
        connection.query(sqltable, function (err, results, fields) {
            if (err) {
                console.log('Error while performing Query');
                connection.end();
            } else {
            console.log('success performing Remove Query');
            connection.end();
            cb("success");
        }
    });
};

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。它错过了铁ajax的身体元素。

<iron-ajax 
    method="POST"
    id="getNotif"
    on-response="notificationAjax"
    content-type="application/json"
    handle-as="json">
    body = [{"element":"1"}]
</iron-ajax>