久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 前端如何通過ajax和node.js交互?

瀏覽:139日期:2023-09-10 14:51:56

問題描述

首先我的文件結構:web-public--login.html(登陸頁面屬于靜態頁面)-veiws--index.jade-routes--index.js-app.js前端代碼

$('#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('密碼或者用戶名錯誤'); }}); })

這個$.ajax里的url我到底應該寫什么。另外我的服務端代碼是寫在app.js里還是寫在router文件夾下的index.js里。還是新建一個js文件并把服務端代碼寫進去,然后url寫這個js文件的相對目錄(php貌似就是這樣)。還有就是index.js里的router.get(’/’, function(req, res, next){} )和app.js里的var router = require(’./routes/index’);app.use(’/’,router)有什么區別,到底哪個才是綁定域名。我的理解是服務器啟動后自動運行app.js然后app.use相當于把函數壓入一個stack依次執行,然后執行到index.js時,index.js根據url地址渲染views里的jade模板,并且每刷新一次重新渲染一次(不清楚是沒刷新一次app.js重新執行一次還是index.js重新執行一次)。

問題解答

回答1:

你可以試試在 segmentFault 的 控制臺那里輸入下面的代碼

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

javascript - 前端如何通過ajax和node.js交互?然后你會拿到 / 這個 html 的文件內容。

你的問題

假設你監聽了 3000 端口,而且你定義了 /login 這個路由

那么 URL 應該填 /login

javascript - 前端如何通過ajax和node.js交互?

這個 app.use 后面的內容叫做中間件

比如我訪問 http://localhost:3000/api/login

恰好我有個中間件剛剛好可以匹配到 /api/login 那么 express 會把 req res 交給這個中間件做處理

回答2:

URL 可以是相對的也可以是絕對的,絕對的從 http(s):// 開始,可以指定任何域名上的URL,不過要注意跨域訪問的問題。相對的則是相對于當前頁面的 URL,

url解釋/<path>以 / 開始的相對路徑,相對于根,即當前頁面所在的 Domain(主機域名)../<path>從當前頁面所在的上層路徑開始,可以多個 ../ 連用表示上面若干層./當前頁面相同的路徑開始,與不要 ./ 是同樣的效果

這里需要注意的是當前頁面路徑的認定,因為URL中 folder/ 有可簡寫成 folder,而有沒有 / 所代表的位置完全不同(在當今路由廣泛使用的情況下,已經不是通過擴展名來區分目錄或頁面了),所以一般建議前端至少寫相對于根的路徑。

回答3:

你寫’/’是代表當前端口,url是你在nodejs中的路徑

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 太仓市| 德保县| 临邑县| 长子县| 清苑县| 平昌县| 灵丘县| 宣城市| 荃湾区| 保德县| 来宾市| 永嘉县| 无棣县| 通海县| 北流市| 东莞市| 仙居县| 绍兴市| 娄烦县| 广南县| 同德县| 甘孜县| 察雅县| 三门县| 全椒县| 巴彦淖尔市| 乐清市| 綦江县| 贡觉县| 阿图什市| 苗栗县| 忻州市| 元谋县| 调兵山市| 织金县| 乌拉特后旗| 满洲里市| 雅安市| 五指山市| 固原市| 台南县|