2015-09-20 58 views
0

我正在使用一个angularjs前端和nodejs作为后端,我很困惑为什么我的callobj没有按预期工作。Nodejs全局对象没有更新

我的相关的NodeJS代码是:

VAR客户=要求( 'twilio')(accountSid,的authToken);

var unirest = require('unirest'); 
var express = require("express"); 
var http = require('http'); 
var app = express(); 
var o2x = require('object-to-xml'); 
var qs = require('querystring'); 
app.use(express.static('dist')); 

app.get("/", function (req,res) { 
    res.render('index.html'); 
}); 

var callobj = {}; 

app.post("/call", function(req,res){ 
    callobj.user = req.user; 
    callobj.phone = req.phone; 
    callobj.song = req.song; 
    callobj.mp3link = req.mp3link; 
    console.log(req.body); 
    console.log(callobj); 
    res.send(200); 
}); 

app.get("/call", function(req,res) { 
    console.log(callobj); 
    res.set("Content-Type", "text/xml"); 
    res.send(o2x({ 
     '?xml version="1.0" encoding="utf-8"?' : null, 
     Response: { 
       Play: callobj.mp3link 
     } 
    })); 
}); 

的angularjs代码:

var app = angular.module('angularexpressApp', []); 

app.controller('appController', function($scope, $http){ 
    $scope.user = 'Shawn'; 
    $scope.phone = '5197227689' 
    $scope.song = 'Cant feel my face'; 
    $scope.mp3link = 'https://api.twilio.com/cowbell.mp3'; 
    $scope.mp3submit = function(){ 
    $http.post('/call', {user: $scope.user, phone: $scope.phone, song: $scope.song, mp3link: $scope.mp3link}) 
     .success(function(data){ 
      //what to do here 
     }) 
     .error(function(data){ 
      console.log('Error: ' + data); 
     }); 
    }; 
}); 
+0

问题是什么? – SLaks

+0

雅问题不是跟全局对象有关,犯了一个错误对不起! – Shawn123

回答

0

它看起来像你分配callobj到错误的价值观。如果我记得正确,它应该设置为req.body.<param>。请求的主体应该包含你想要的参数。

+0

问题是我需要npm install body parser并在我的快车应用程序中使用它,否则req.body会一直显示为undefined。我的错! – Shawn123

+0

对啊。很酷,祝你好运。 – Eric