Bagaimanakah hujung hadapan berinteraksi dengan node.js melalui ajax?
滿天的星座
滿天的星座 2017-05-24 11:38:22
0
3
650

Pertama sekali, struktur fail saya:
web
-public
--login.html (halaman log masuk ialah halaman statik)
-veiws
--index.jade
-routes
--index.js
-app .js
Kod bahagian hadapan

$("#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("密码或者用户名错误");
                    }
        });
    })

Apakah yang perlu saya tulis dalam url dalam $.ajax?
Selain itu, adakah kod pelayan saya ditulis dalam app.js atau index.js dalam folder penghala? Atau buat fail js baharu dan tulis kod pelayan ke dalamnya, kemudian tulis direktori relatif fail js dalam URL (ini nampaknya berlaku dengan PHP).
Terdapat juga router.get('/', function(req, res, next){}) dalam index.js dan var router = require('./routes/index');app dalam
app.js Apakah itu perbezaan antara .use('/',router) dan yang manakah merupakan nama domain yang mengikat? Pemahaman saya ialah selepas pelayan bermula, ia secara automatik menjalankan app.js dan kemudian app.use adalah bersamaan dengan menolak fungsi ke dalam timbunan dan melaksanakannya dalam urutan Kemudian apabila index.js dilaksanakan, index.js menjadikan templat jed dalam paparan mengikut alamat URL dan setiap Muat Semula dan paparan semula (tidak jelas sama ada app.js dilaksanakan semula tanpa penyegaran atau index.js dilaksanakan semula).

滿天的星座
滿天的星座

membalas semua(3)
仅有的幸福

Anda boleh cuba masukkan kod berikut dalam konsol segmenFault

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


Kemudian anda akan mendapat / kandungan fail html ini.


soalan anda

Andaikan anda sedang mendengar pada port 3000 dan anda telah menentukan laluan /login

Kemudian URL hendaklah /login


Kandungan di sebalik app.use dipanggil middleware

Sebagai contoh, saya lawati http://localhost:3000/api/login

Saya kebetulan mempunyai middleware yang boleh memadankan /api/login, kemudian express akan menyerahkan req res kepada middleware ini untuk diproses

伊谢尔伦

URL boleh menjadi relatif atau mutlak Benar-benar bermula dari http(s):// Anda boleh menentukan URL pada mana-mana nama domain, tetapi anda harus memberi perhatian kepada masalah silang. akses domain. Relatif ialah URL relatif kepada halaman semasa, http(s):// 开始,可以指定任何域名上的URL,不过要注意跨域访问的问题。相对的则是相对于当前页面的 URL,

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

这里需要注意的是当前页面路径的认定,因为URL中 folder/ 有可简写成 folder,而有没有 / url Penjelasan /<path> Laluan relatif bermula dengan /, relatif kepada akar, iaitu, Domain (nama domain hos) tempat halaman semasa berada ../<path> Bermula dari laluan atas halaman semasa, berbilang ../ boleh digunakan bersama untuk mewakili lapisan atas ./ Halaman semasa bermula dengan laluan yang sama dan tidak mempunyai kesan yang sama seperti ./

Apa yang perlu diperhatikan di sini ialah pengenalan laluan halaman semasa, kerana terdapat folder/ dalam URL, yang boleh disingkatkan menjadi folder, tetapi tiada / mewakili lokasi yang sama sekali berbeza (dalam penggunaan penghalaan yang meluas hari ini, direktori atau halaman tidak lagi dibezakan oleh sambungan), jadi secara amnya disyorkan bahawa hujung hadapan sekurang-kurangnya menulis laluan relatif kepada akar. #🎜🎜#
我想大声告诉你

Anda tulis '/' untuk mewakili port semasa, dan url ialah laluan anda dalam nodejs

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan