<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ~~~ //當前項目(包)的入口文件 //實現get方式添加新聞 //1.加載http模塊 var http =require('http'); var fs=require('fs'); var path=require('path'); var mime=require('mime'); //加載url模塊 var url=require('url'); //2.創建http服務 http.createServer(function(req,res){ //為res對象添加一個render()函數,方便后續使用 res.render=function(filename){ fs.readFile(filename,function(err,data){ if(err){ res.writeHead(404,'Not Found',{'Content-Type':'text/html;charset=utf-8'}); res.end("404,page not found."); return; } res.setHeader("Content-Type",mime.getType(filename)); res.end(data); }) } //設計路由 //當用戶請求 / 或者 /index的時候,顯示新聞列表---get請求 //當用戶請求 /item的時候,顯示新聞詳情---get請求 //當用戶請求 /submit的時候,顯示添加新聞頁面---get請求 //當用戶請求 /add時,將用戶提交的新聞保存到data.json文件中---get請求 //當用戶請求 /add時,將用戶提交的新聞保存到data.json文件中---post請求 //將用戶請求的url和method轉換為小寫字母 req.url=req.url.toLowerCase(); req.method=req.method.toLowerCase(); //通過url模塊,調用url.parse()方法解析用戶請求的url(req.url) var urlObj=url.parse(req.url,true); console.log(urlObj); //根據用戶請求的路徑,將對應的html頁面顯示出來 if(req.url==='/'||req.url==='/index'&&req.method==='get'){ //讀取index.html 并返回 res.render(path.join(__dirname,'views','index.html')); }else if(req.url==='/item'&&req.method==='get'){ //讀取detail.html并返回 res.render(path.join(__dirname,'views','detail.html')); }else if(req.url==='/submit'&&req.method==='get'){ //讀取submit.html并返回 res.render(path.join(__dirname,'views','submit.html')); }else if(req.url.startsWith('/add')&&req.method==='get'){ //表示get方法提交一條新聞 //要獲取用戶提交過來的數據,需要用到url模塊(這個模塊是node.js內置模塊,不是第三方模塊) //1.獲取用戶get提交過來的新聞數據 //urlObj.query.title //urlObj.query.url //urlObj.query.text //2.1讀取 data.json文件中的數據,并將讀取到的數據轉化為一個數組 //此處讀取文件的時候可以直接寫一個utf8編碼,這樣的話,回調函數中的data就是一個字符串了 fs.readFile(path.join(__dirname,"data",'data.json'),'utf8',function(err,data){ //因為第一次訪問網站 ,data.json文件本身就不存在,所以肯定是有錯誤的,但是這種錯誤,我們并不認為是網站出錯了,所以不需要拋出異常 //ENOENT沒有這樣的文件或者目錄 if(err&&err.code !=='ENOENT'){ throw err; } //如果讀取到了數據,就把讀取到的數據data轉換成arr數組,相反如果沒有讀取到數據就把[]轉換為數組 var arr=JSON.parse(data ||'[]');//字符串解析為數組 arr.push(urlObj.query); //2.把用戶提交的數據保存到data.json文件中 //把arr數組中的數據寫入到data.json文件中 fs.writeFile(path.join(__dirname,'data','data.json'),JSON.stringify(arr),function(err){ if(err){ throw err; } console.log('ok'); //3.跳轉到新聞列表頁 //通過設置http響應報文頭實現瀏覽器重定向操作 //以3開頭的都表示要做跳轉 res.writeHead(302,'Found',{'Location':'/'}) res.end(); }); }); }else if(req.url==='/add'&&req.method==='post'){ //表示post方法提交一條新聞 }else if(req.url.startsWith('/resources')&&req.method==='get'){ //如果用戶請求是以/resources開頭,并且是get請求,就認為用戶是要請求靜態資源 res.render(path.join(__dirname,req.url)); }else{ res.writeHead(404,'Not Found',{ 'Content-Type':'text/html;charset=utf-8' }); res.end("404,page not found."); } }).listen(8888,function(){ console.log("http://localhost:8888"); }) ~~~ ![](https://box.kancloud.cn/1b36c1194a0af3a412818c0940db8379_1047x497.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看