recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment le nœud demande à d'autres serveurs.

Le projet veut utiliser le nœud comme couche intermédiaire.
Le navigateur de la première couche envoie une requête au nœud.
Le nœud de la deuxième couche envoie une requête à php.
Je connais un peu le nœud et le framework express. demander à php d'obtenir les données et de les renvoyer à la réception ? Existe-t-il une méthode simple et facile à comprendre.

Je peux obtenir les données après avoir utilisé http-proxy-middleware, mais je souhaite faire correspondre l'itinéraire, puis envoyer la demande en arrière-plan pour restituer le modèle ejs.

const apiProxy = proxy('/do', { target: 'http://wx.lxjjz.cn',changeOrigin: true });//将服务器代理到localhost:8080端口上[本地服务器为localhost:3000]
app.use('*', apiProxy);//子目录下的都是用代理
 
app.get('/index', function(req,res){
     //我想在这里匹配到路由,然后在这里发送请求拿数据
     //然后根据返回的数据传送到ejs模版渲染
     res.sendFile(__dirname+'/index.html');
});
 

Client

var contextPath = 'http://wx.lxjjz.cn';
                $.ajax({
                    type:'get',
                    url:contextPath+'/do?g=api&m=hd&a=works-list',
                    success:function(data){
                        console.log(data);
                    },
                    error:function(data){
                        console.log(data);
                    }
 
                })
迷茫迷茫2714 Il y a quelques jours849

répondre à tous(4)je répondrai

  • 滿天的星座

    滿天的星座2017-06-29 10:10:40

    Node dispose de diverses bibliothèques de requêtes. Il y a aussi des demandes qui vont avec

    L'ensemble du processus est probablement

    1. Le client demande le serveur de nœuds

    2. Le serveur de nœud demande php puis conditionne les données de réponse renvoyées

    3. Renvoyer les données packagées ci-dessus au client

    Ce à quoi vous devez faire attention, c'est à la gestion du rappel. Si vous voulez avoir une meilleure apparence, vous pouvez utiliser le module promise ou co pour gérer le code asynchrone.

    répondre
    0
  • 迷茫

    迷茫2017-06-29 10:10:40

    Il existe différentes solutions à cela, permettez-moi juste de parler de celle que nous utilisonsnode-rest-client
    比如使用express,自己写个路由,如果/ajaxElle est utilisée pour accepter les requêtes frontales
    Toutes les requêtes frontales sont envoyées à /ajax, puis dans /ajax, utilisez node-rest- client pour transmettre la demande à php, une fois que php a renvoyé les données, res.json(data) suffit
    Bien sûr, vous devez encapsuler et unifier les données vous-même pendant ce processus. C'est une question triviale. comme ça

    répondre
    0
  • 怪我咯

    怪我咯2017-06-29 10:10:40

    http-proxy-middleware

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-29 10:10:40

    S'il s'agit simplement d'un transfert par proxy,

    Si la couche intermédiaire n'encapsule aucune donnée, vous pouvez utiliser ce middleware :

    https://github.com/chimurai/h...

    Normalement, les nœuds sont utilisés pour l'encapsulation des données. La couche API ne se soucie pas du business, elle peut donc être découplée

    .

    Ensuite, vous devez créer différentes interfaces séparément, récupérer les données, les réorganiser vous-même à l'aide de lodash et moment, et les envoyer à la réception,

    répondre
    0
  • Annulerrépondre