` $("#but1").click(function ()
{
var data = { "temp": text };
$.ajax({
type: 'POST',
data: JSON.stringify(data),
datatype: 'jsonp',
contentType: 'application/json',
url:"https://thermostatapp.azurewebsites.net/api/updatetemp",
crossDomain: true,
success: function (data) {
alert('success');
},
});
} `
Изображение инструмента разработчика, показывающее ошибку
данные отправляются на сервер, но из-за функции обратного вызова я получаю внутреннюю ошибку сервера через 2 минуты.
код на стороне сервера
'use strict';
var express = require('express');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var cors = require("cors");
app.use(cors({
origin: '*'
}));
var http = require('http');
var port = process.env.PORT || 1337;
http.createServer(app).listen(port);
app.post('/api/updatetemp', function (req, res) {
var temper = req.body.temp;
MongoClient.connect(url, function (err, db) {
if (err) throw err;
var dbo = db.db("unity");
var myquery = { first_name: "sid" };
var newvalue = {
$set: { temp: temper }
}
dbo.collection("user_list").updateOne(myquery, newvalue, function (err, result) {
if (err) throw err;
else
console.log("update!1!")
db.close();
});
});
как я могу найти причину проблемы? Будет ли отправка токена csrf с помощью вызова ajax исправить ошибку, так как я использую Express Framework?