2016-08-30 3 views
1

Ich habe einen Nodejs Code mit SSE(Server-Sent-Events), hier für jedes Ereignis seine Trigger und geben Sie einige JSON-Daten. Wie kann ich eine JSON-Daten an andere PHP Datei senden, ohne Aufruf einer POST-URL,Wie sende ich Json-Daten von Nodejs zu PHP innerhalb desselben Servers (lokal)?

Sie müssen JSON-Daten zu anderen PHP-Datei auf dem gleichen Server senden.

NodeJS

//including Event Source 
var EventSource = require('eventsource'); 
var request  = require('request'); 

var es = new EventSource('http://api.xyz.com:8100/update/'); 

//Listening URL Event Sourse 
es.addEventListener('message', function (e) { 

    //Extract Json 
    var extractData = JSON.parse(e.data); 

    if(extractData.type == 'CALL') 
    { 
     console.log(extractData); 

     //you can call a function 
     postDataToAFile(extractData); 

    } 
}); 

//Post Details to same server 
function postDataToAFile(SendingDetails) 
{ 
    var ServerURL = 'http://api.xyz.com/get_details/'; 

    request({ 
     url : ServerURL, 
     method : "POST", 
     json : true, 
     body : SendingDetails 
    }, function (error, response, body){ 
     console.log(body);  
    }); 
} 

Above-Code verwendet URL POST, stattdessen können wir Json Daten derictly mit einem Dateipfad

Antwort

0

Sie verwenden Form-Daten senden. Eine Bibliothek zum Erstellen von lesbaren "multipart/form-data" -Streams. Kann zum Senden von Formularen und Dateiuploads an andere Webanwendungen verwendet werden.

Die API dieser Bibliothek wurde von der XMLHttpRequest-2 FormData-Schnittstelle inspiriert.

var FormData = require('form-data'); 
var fs = require('fs'); 

var form = new FormData(); 
form.append('my_field', 'my value'); 
form.append('my_buffer', new Buffer(10)); 
form.append('my_file', fs.createReadStream('/foo/bar.jpg')); 

var FormData = require('form-data'); 
var http = require('http'); 

var form = new FormData(); 

http.request('http://nodejs.org/images/logo.png', function(response) { 
    form.append('my_field', 'my value'); 
    form.append('my_buffer', new Buffer(10)); 
    form.append('my_logo', response); 
}); 

https://www.npmjs.com/package/form-data

Verwandte Themen