如何使用ajax.get调用从node.js服务器获取响应

时间:2015-11-17 02:20:03

标签: javascript ajax node.js mongodb

以下是app.js的代码片段,它从mongo.db返回一个aggrgated值。我想在我的html页面中使用此响应值。所以,我写了一个ajax调用。但是,问题是我无法将值传入html页面。我可以看到,我的服务器正在打印该值。

对服务器进行AJAX调用:

$(suggestvalue).click(function (e) {
    var datapoint = document.getElementById('criteria').value;
    var criteriaVal = document.getElementById('condi').value;
    var datapoint_val = document.getElementById('rulevalue').value;
    var trigger_action = document.getElementById('actionvalue').value;
    $.ajax({
        url: "/suggestedValueTemp",
        type: 'GET',
        success: function (data) {
            alert("i am here");
            console.log(data);
        },
        error: function (e) {
            console.log(e.message);
        }
    });
});

app.get("/suggestedValueTemp",function(req,res){
    mongo.suggestTempValue(function(err,result){
        if(err){
            throw err;
        }else{
            console.log("avgTemp  "+result);
            res.send(result);
        }
    });
});

我在我的console.logs

中得到了这个
avgTemp  35.17708659524805
[GET /suggestedValueTemp 35.17708659524805 2161ms ]

但它没有重新路由我的ajax调用的成功块。任何人都可以帮帮我。

谢谢, Shivadeepthi

1 个答案:

答案 0 :(得分:0)

在服务器端代码中尝试此操作。将res.send更改为res.jsonp并将对象传递给它。

app.get("/suggestedValueTemp",function(req,res){
    mongo.suggestTempValue(function(err,result){
        if(err){
            throw err;
        }else{
            console.log("avgTemp  "+result);
            res.jsonp({data: result}); //extract the data at user end
        }
    });
});