ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## http请求的组成部分 1、请求的方法,get或者post 2、正在请求的url 3、请求头 4、请求体 ## 常见的状态码 ``` 2开头 (请求成功)表示成功处理了请求的状态代码。 3开头 (请求被重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。 4开头 (请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。 5开头(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。 ``` ``` 200 OK //客户端请求成功 400 Bad Request //包含不合法的参数,客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常 ``` ### get请求 ~~~ var url = "https://www.easy-mock.com/mock/5bac6df10132334db7167178/testDemo/testDemo"; var xhr = new XMLHttpRequest(); xhr.open('get',url,true); xhr.send(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var txt = JSON.parse(xhr.responseText); console.log(txt); } } ~~~ JSON.parse()方法将json对象解析为JavaScript对象。 JSON.stringify()将javascript的值,转换为JSON字符串。 ### post请求 #### Post方式要设置一个[请求头](http://www.chengbenchao.top/javascript/780058) ~~~ <div id="test"></div> <script> var test = document.getElementById("test"); var xhr = new XMLHttpRequest(); xhr.open("post","https://www.easy-mock.com/mock/5b230e1e6bed703a9b488c69/www.getTest.com/push",true); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send(null); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var data = JSON.parse(xhr.responseText); test.innerHTML = data.data.content } } </script> ~~~ ### http请求头中包含哪些信息 * Accept:浏览器能够处理的内容类型 * Accept-Charset:浏览器能够显示的字符集 * Accept-Encoding:浏览器能够处理的压缩编码 * Accept-Language:浏览器当前设置的语言 * Connection:浏览器与服务器之间连接的类型 * Cookie:当前页面设置的任何Cookie * Host:发出请求的页面所在的域 * Referer:发出请求的页面的URL * User-Agent:浏览器的用户代理字符串