2015-09-20 3 views
0

Я использую передний край angularjs с nodejs в качестве backend, и я смущен, почему мой callobj не работает должным образом.Глобальный объект Nodejs не обновляется

Мой соответствующие nodejs код:

вар клиент = требуется ('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

Проблема заключалась в том, что мне нужно было установить парсер для тела и использовать его в своем экспресс-приложении, иначе req.body продолжал отображаться как неопределенный. Виноват! – Shawn123

+0

Ahhh право. Круто, удачи. – Eric

Смежные вопросы