當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS 网络编程
1.認識Nodejs
Nodejs是一個應用編程平臺,能運行javascript語言編寫的代碼,提供了javascript運行環境,
基于Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。
提供了大量應用編程接口API,在處理http網絡、數據庫、文件等操作時非常方便.
2.創建web服務器
1.創建一個服務
要開啟先要創建—個服務 const http = require( " http" ) //創建—個服務 //這個服務默認監聽http 協議//這個服務默認監聽Localhost域名 //返回值就是這個服務 const server = http.createServer(function (request,response) { //前端發來的每—個請求都會觸發這個西數 // request包含著所有的請求信息 // response是所有的響應信息 })2.監聽一個端口
確定這個服務監聽哪一個端口 const http = require( " http ' ) //創建—個服務 const server = http.createServer(function (request,response){ //前端發來的每—個請求都會觸發這個函數 }) server.listen(8080,function (){ //這個函數會在服務開啟成功以后執行 console.log( 'listening on port 808o') })3.給出一個響應
簡單給出—個響應 const http = require( " http ') //創建—個服務 const server = http.createServer(function (request,response) { //前端發來的每—個請求都會觸發這個函數 //接受到請求以后給出—個響應 response.end( " hello wor1d ") } server.listen(8080,function (){ //這個西數會在服務開啟成功以后執行 console.log( 'lintening on port 8080") }) 此時,打開瀏覽器 地址欄輸入localhost:8080 瀏覽器就會響應文字hello world4.獲取url的參數
我們可以使用url.parse方法來解析URL中的參數,代碼如下:實例 var http = require( ' http '); var url = require( " url " ); var util = require( " util"); http.createServer(function(req,res){res.writeHead (200,{'content-Type ': 'text/plain'}); //解析url參數 var params = url.parse(req.url, true).query;res.write("網站名:" + params.name) ;res.write("\n");res.write("網站uRL:" + params.url) ;res.end( ); }).listen(3000) ;解決亂碼問題
response.writeHead(200,{'content-type':'text/html;charset=utf-8'})解決跨域問題
//解決跨域問題 response.setHeader( ' Access-Control-Allow-origin', '*')3.數據庫
數據庫的數據類型
1.數值類型
| 類型 | 大小 | 用途 | | ------ | ------ | ------ | | TINYINT | 1 字節 | 小整數值 | | SMALLINT | 2 字節 | 大整數值 | | MEDIUMINT | 3 字節 | 大整數值 | | INT或INTEGER | 4 字節 | 大整數值 | | BIGINT | 8 字節 | 極大整數值 | | FLOAT | 4 字節 | 單精度 浮點數值 | | DOUBLE | 8 字節 | 雙精度 浮點數值 | | DECIMAL | | 小數值 |2.日期和時間類型
| 類型 | 格式 | 用途 | | ------ | ------ | ------ | | DATE | YYYY-MM-DD | 日期值 | | TIME | HH:MM:SS | 時間值或持續時間 | | YEAR | YYYY | 年份值 | | DATETIME | YYYY-MM-DD HH:MM:SS | 混合日期和時間值 | | TIMESTAMP | YYYYMMDD HHMMSS | 時間戳 |3.字符串類型
類型 | 大小 | 用途 | | ------ | ------ | ------ | | CHAR | 0-255字節 | 定長字符串 | | VARCHAR | 0-65535 字節 | 變長字符串 | | TINYBLOB | 0-255字節 | 不超過 255 個字符的二進制字符串 | | TINYTEXT | 0-255字節 | 短文本字符串 | | BLOB | 0-65 535字節 | 二進制形式的長文本數據 | | TEXT | 0-65 535字節 | 長文本數據 | | MEDIUMBLOB | 0-16 777 215字節 | 二進制形式的中等長度文本數據 | | MEDIUMTEXT | 0-16 777 215字節 | 中等長度文本數據 | | LONGBLOB | 0-4 294 967 295字節 | 二進制形式的極大文本數據 | | LONGTEXT | 0-4 294 967 295字節 | 極大文本數據 |查
SQL SELECT語句:用于從表中選取數據。結果被存儲在一個結果表中(稱為結果集)。 SQL SELECT語法: SELECT 列名1,列名2FROM表名稱以及: SELECT*FROM表名稱 注釋:SOL語句對大小寫不敏感。SELECT等效于select。增
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)改
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值刪
DELETE FROM 表名稱 WHERE 列名稱 = 值實例
let mysql = require("mysql"); //創建數據庫連接對象 let connection = mysql.createConnection({host:"localhost",user:"root",password:"b123",database:"ex1db"} );connection.connect(); //打開數據庫連接 //執行sql查詢 let sql = "SELECT e_no,e_name,e_sex,dept_no,e_salary,e_job,hire_date FROM employee"; connection.query(sql,function(err,data){if(err){console.log("數據庫操作出錯"+err);return;} console.log("姓名\t性別\t 薪酬\t工作" );for(vari = 0; i<data.length; i++){console.log(data[i].e_name +"\t"+ data[i].e_sex +"\t"+ data[i].e_salary+ "\t" + data[i].e_job );} });connection.end(); //關閉數據庫連接結合http模塊案例
const http = require('http') // 引入內置http模塊 const mysql = require('mysql') // 創建web服務器 let server = http.createServer(function (request, response) {//==== 1. 接收請求====// 解決跨域問題response.setHeader('Access-Control-Allow-Origin', '*')//解決中文亂碼問題response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' })//===== 2. 處理業務邏輯====let path = request.urlif (path.indexOf('/login') !== -1) {let loginStr = `<h2>登錄界面</h2><form><input type='text' name='username'/><br/><input type='password' name='password'/><br/><input type='submit' value='登錄'/></form>`response.write(loginStr)response.end() //結束寫數據響應用已經寫入的數據} else if (path.indexOf('/list') !== -1) {executeSql(function (result) {console.log(result)let tabeStr = JSON.stringify(result)response.write(tabeStr)response.end() //結束寫數據響應用已經寫入的數據})} else {response.write('<h2>主界面</h2>')response.end() //結束寫數據響應用已經寫入的數據}//====== 3. 響應用數據====== })// 啟動web服務器 server.listen(8081, function () {console.log('服務器啟動成功,監聽8080端口!') })function executeSql(callback) {let connection = mysql.createConnection({host: 'localhost',user: 'root',password: 'b123',database: 'mydb'})// 3. 建立連接connection.connect()// 4. 執行sql語句connection.query('SELECT * FROM student', function (error, result) {if (error) {console.log('數據庫操作出錯')return}callback(result)})// 5. 關閉連接connection.end() }總結
- 上一篇: php ssl 不验证失败,php –
- 下一篇: javascript 自带函数 读取js