javascript - 如何在 jquery ajax 请求内部不回调的情况下使用 Node.js?

标签 javascript jquery ajax node.js mongodb

我花了很多时间来理解为什么我的 Node.js 服务通过使用 postman 运行得很好。如果您看下面,您会发现我的 Node.js 服务运行良好。但是JQUERY代码(调用GetAllNotifyTypesFunc();)

给我错误:(如何在没有回调的情况下调用正确的 postman 和jquery?)

enter image description here

Node.js:


'use strict';
var express = require("express");
var app = express();
var MongoClient = require('mongodb').MongoClient;
var router = express.Router();

app.get('/Notifies', function (req, res) {
    MongoClient.connect('mongodb://127.0.0.1:27017/Test', function (err, db) {
        if (err) throw err;
        var coll = db.collection('Notifies');
        coll.find({}).toArray(function (err, result) {
            if (err) {
                res.send(err);
            } else {

                // res.writeHead(200, {
                //   'Content-Type': 'application/json'
                //    });
                // res.end('callback(\'' + JSON.stringify(result) + '\')');
                res.writeHead(200, {
                    'Content-Type': 'application/json'
                });
                res.end(JSON.stringify(result));
                // res.json(result);
            }
        })
    })
});

var port = Number(process.env.PORT || 5000);
app.listen(port, function () {
    console.log("Listening on " + port);
})

如果我使用 postman :

enter image description here

    $(function () {

    GetAllNotifyTypesFunc();

});

var GetAllNotifyTypesFunc = function () {
    console.log("notify");

    $.ajax({
        url: 'http://127.0.0.1:5000/Notifies',
        dataType: "jsonp",
        async: false,
        //jsonpCallback: "callback",
        cache: false,
        timeout: 5000,
        success: function (data) {
            console.log(data);
            console.log(JSON.parse(data));
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert('error ' + textStatus + " " + errorThrown);
        }
    });


}

最佳答案

你说 jquery 的响应将是 jsonp 但它是 json。您需要检查差异,我想您应该使用:

dataType: "json",

jsonp 是可执行函数,请参阅 ( What are the differences between JSON and JSONP? )

关于javascript - 如何在 jquery ajax 请求内部不回调的情况下使用 Node.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320583/

相关文章:

javascript - JQuery JCarousel(非精简版)和鼠标滚轮。需要帮忙

javascript - 如何通过 html 中的单选按钮将简单的 int 变量存储在服务器上?

jquery - 将参数传递给 jQuery 的 .load() 的最佳方法

javascript - Jquery form serialize() 只返回部分字段

javascript - 如何使用ajax动态替换Facebook共享链接的一部分

javascript - 通过以点开头的 CSS 类名获取元素

javascript - Array Push 在 JavaScript 中对相同的值使用相同的索引

javascript - jQuery 回调 - 严格违反

javascript - PHP在同一页面显示结果

javascript - 如何在相扑选择下拉列表中显示ajax响应?