recherche

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

Comment le front-end interagit-il avec node.js via ajax ?

Tout d'abord, ma structure de fichiers :
web
-public
--login.html (la page de connexion est une page statique)
-veiws
--index.jade
-routes
--index.js
-app .js
Code frontal

$("#login").click(function(){
        var username=$('#un').val();
        var pw=$("#pw").val();
        var data = {"un":username,"pw":pw};
        $.ajax({
            type:"post",
            url:"/login",
            async:true,
               success: function(data,status){ 
                    if(status == 'success'){ 
                        location.href = '../views/index.jade';
                    }
                },
                error: function(data,status){ 
                    if(status == 'error'){ 
                        alert("密码或者用户名错误");
                    }
        });
    })

Que dois-je écrire dans l'url en $.ajax ?
De plus, le code de mon serveur est-il écrit en app.js ou index.js dans le dossier du routeur ? Ou créez un nouveau fichier js et écrivez-y le code du serveur, puis écrivez le répertoire relatif du fichier js dans l'URL (cela semble être le cas avec PHP).
Il y a aussi router.get('/', function(req, res, next){}) dans index.js et var router = require('./routes/index');app dans
app.js Qu'est-ce que la différence entre .use('/',router) et lequel est le nom de domaine de liaison ? Je crois comprendre qu'après le démarrage du serveur, il exécute automatiquement app.js, puis app.use équivaut à placer les fonctions dans une pile et à les exécuter dans l'ordre. Ensuite, lorsque index.js est exécuté, index.js restitue le modèle jade. dans les vues en fonction de l'adresse URL, et à chaque actualisation et nouveau rendu (il n'est pas clair si app.js est réexécuté sans actualisation ou si index.js est réexécuté).

滿天的星座滿天的星座2750 Il y a quelques jours659

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

  • 仅有的幸福

    仅有的幸福2017-05-24 11:40:22

    Vous pouvez essayer de saisir le code suivant dans la console segmentFault

    $.ajax({
        url: '/',
        success: res => console.log(res), 
        error: err => console.log(err)
    }); 


    Ensuite vous obtiendrez/le contenu de ce fichier html.


    votre question

    Supposons que vous écoutez sur le port 3000 et que vous avez défini la route /login

    Alors l'URL doit être /login


    Le contenu derrière app.use est appelé middleware

    Par exemple, je visite http://localhost:3000/api/login

    Il se trouve que j'ai un middleware qui peut correspondre à /api/login, puis express transmettra les demandes à ce middleware pour le traitement

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-24 11:40:22

    URL peut être relative ou absolue. Commence absolument à partir de http(s)://. Vous pouvez spécifier l'URL sur n'importe quel nom de domaine, mais vous devez faire attention au problème de croisement. accès au domaine. Relatif est l'URL relative à la page actuelle, http(s):// 开始,可以指定任何域名上的URL,不过要注意跨域访问的问题。相对的则是相对于当前页面的 URL,

    url 解释
    /<path> / 开始的相对路径,相对于根,即当前页面所在的 Domain(主机域名)
    ../<path> 从当前页面所在的上层路径开始,可以多个 ../ 连用表示上面若干层
    ./ 当前页面相同的路径开始,与不要 ./ 是同样的效果

    这里需要注意的是当前页面路径的认定,因为URL中 folder/ 有可简写成 folder,而有没有 / url Explication /<chemin> Le chemin relatif commençant par /, relatif à la racine, c'est-à-dire le domaine (nom de domaine hôte) où se trouve la page actuelle ../<chemin> En partant du chemin supérieur de la page actuelle, plusieurs ../ peuvent être utilisés ensemble pour représenter les couches supérieures ./ La page actuelle commence par le même chemin et n'a pas le même effet que ./

    Ce qu'il faut noter ici, c'est l'identification du chemin de la page actuelle, car il y a folder/ dans l'URL et peut être abrégé en folder, mais il n'est pas / représente un emplacement complètement différent (dans l'utilisation répandue actuelle du routage, les répertoires ou les pages ne sont plus distingués par des extensions), il est donc généralement recommandé que le frontal écrive au moins le chemin relatif à la racine. #🎜🎜#

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-24 11:40:22

    Vous écrivez '/' pour représenter le port actuel, et l'url est votre chemin dans nodejs

    répondre
    0
  • Annulerrépondre