nodejs + express怎么实现Ajax方式及其简单功能

2025-03-01 00:41:02
推荐回答(2个)
回答1:

跟你普通的html+js+java一样写ajax,

但是后台接受,express写,

var json = require('../common/json');
var database = require('../../conf/db');
var fn = require("../common/function");
module.exports = function (req, res, next) {
  database.getConnection(function (err, connection) {
    var id = parseInt(req.query.id);
    connection.query('UPDATE caseList SET isDeleted = ? where caseId=?', [1,id], function (err, rows, fields) {
      if (err) {
        console.log(err);
        res.jsonp(
          json.error('数据库连接出错')
        );
        return false;
      } else {
        res.jsonp(
          json.success('删除成功')
        );
      }
    });
    connection.release();
  })
};

给你简单看一个删除的接口

我这里自己写的都是跨域的所以都是get方式

var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({extended: false});
var caseDelete = require('../controllers/case/deleteCase');
app.get('/caseDelete', urlencodedParser, caseDelete);

回答2:

componentDidMount: function() {
//ajax请求
var xmlhttp;
if(window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}else if(window.ActiveXObject) {
xmlhttp = new ActiveXObject(‘Microsoft.XMLHTTP’);
}else {
alert(‘必须提高浏览器版本才能浏览!’);
return false;
}
//回调
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4) {
if(xmlhttp.status == 304 || (xmlhttp.status >= 200 && xmlhttp.status < 300)) {
var renderMessage = JSON.parse(xmlhttp.responseText);
if(this.isMounted()){
this.setState({
data: renderMessage,
});
}
}
}
}.bind(this);
//请求
xmlhttp.open(‘post’,’/photo.list.server’,true);
xmlhttp.setRequestHeader(“Content-Type”,“application/x-www-form-urlencoded;charset=utf-8”);
xmlhttp.send(null);
}
以上是前端的代码。
后台其实逻辑如下:
var mongoose = require(‘mongoose’);
var PhotoList = mongoose.model(‘PhotoList’);
module.exports = function(req, res, next) {
PhotoList.find({}, function(err, docs) {
if(err) {
res.end(‘Error’);
return next();
}
res.send(JSON.stringify(docs));
});
}