GET Ajax 在响应中返回 html 代码而不是 json 对象

mis*_*der 5 jquery mongodb node.js openshift

我有一个 ajax get 请求,如下所示。我正在使用 nodejs express 在 openshift 中向 server.js 发出 GET 请求。但是,我在响应方法中得到 html 内容而不是 json 对象。两个请求都是针对同一个域的。我使用的节点模块是 Moongojs、mongodb 和 bson。

$.ajax({
           type: "GET",
           url: "http://abc-favspot.rhcloud.com",
           contentType: "application/json",
           data: JSON.stringify(currLocation),
           dataType: "text",
           success: function(response){
           callback(response);
               },
            error: function( error ){
            console.log( "ERROR:", error );

                }
            });
Run Code Online (Sandbox Code Playgroud)

我的 server.js 文件有以下代码

self.routes['getData'] = function(req, res){
        console.log("gat method");            

    self.db.collection('location').find().toArray(function(err, names) {
       res.header("Content-Type:","application/json");
        console.log("success get");            
        res.send(names);
    });
  };
Run Code Online (Sandbox Code Playgroud)

Jas*_*han 2

res.send(names)不是 JSON,您必须使用JSON.stringify.

尝试在数据库调用之前进行测试以检查其是否有效。

res.send( JSON.stringify( {testData:'test'} ) )

编辑

正如评论中所讨论的,请检查以确保您的请求被路由到您声明的正确路由。

是否console.log("gat method");向终端窗口输出任何内容?