当前位置: 首页 > news >正文

如何在百度提交网站手机作网站服务器

如何在百度提交网站,手机作网站服务器,制作网页推广宣传,淡水网站建设公司XMLHttpRequest发送请求 在JavaScript中#xff0c;使用XMLHttpRequest()发送多个参数通常涉及到设置HTTP请求的Content-Type头部#xff0c;并且将参数作为请求体的一部分发送。以下是一个示例#xff0c;展示了如何发送包含多个参数的POST请求#xff1a; var xhr new X… XMLHttpRequest发送请求 在JavaScript中使用XMLHttpRequest()发送多个参数通常涉及到设置HTTP请求的Content-Type头部并且将参数作为请求体的一部分发送。以下是一个示例展示了如何发送包含多个参数的POST请求 var xhr new XMLHttpRequest(); var url your_endpoint_url;xhr.open(POST, url, true);// 设置请求头部指定内容类型为表单数据 xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded);// 构建参数字符串 var params param1value1param2value2param3value3;// 发送请求 xhr.send(params);xhr.onreadystatechange function () {if (xhr.readyState 4 xhr.status 200) {// 请求成功console.log(xhr.responseText);} };-----------------------------------------------------------------//发送JSON类型数据 // 创建一个新的 XMLHttpRequest 对象 var xhr new XMLHttpRequest();// 配置请求类型、URL 以及是否异步处理POST!!!!! xhr.open(POST, your_server_endpoint, true);// 设置请求头告知服务器内容类型是 JSON xhr.setRequestHeader(Content-Type, application/json);// 定义发送数据到服务器的 success 函数 xhr.onreadystatechange function() {if (xhr.readyState XMLHttpRequest.DONE) {if (xhr.status 200) {// 请求成功console.log(xhr.responseText);} else {// 请求出错console.error(Error: xhr.status);}} };// 创建要发送的 JSON 数据字符串 var jsonData JSON.stringify({key1: value1,key2: value2 });// 发送 JSON 数据 xhr.send(jsonData); 在这个例子中我们使用x-www-form-urlencoded内容类型这是一种常见的Web表单数据编码格式。每对键值由字符分隔并且使用字符分隔键和值。这种格式适用于大多数后端服务器语言如PHP、Python、Ruby等。如果你需要发送JSON数据可以将内容类型设置为application/json(POST请求)并相应地序列化你的数据为JSON字符串。 axios发送请求 Axios 是一个基于 promise (Promise其实也不难-CSDN博客)的 HTTP 库可以在浏览器和 node.js 中使用 // 发送 GET 请求 axios.get(https://api.example.com/data).then(response {console.log(response.data);}).catch(error {console.error(error);});// 发送 POST 请求 axios.post(https://api.example.com/data, {key1: value1,key2: value2 }) .then(response {console.log(response.data); }) .catch(error {console.error(error); });------------------------------------------------- //可选配置 const config {headers: {Authorization: Bearer your-token} }; axios.get(https://api.example.com/data, config);-------------------------------------------------- //并发请求 axios.all([axios.get(https://api.example.com/data1),axios.get(https://api.example.com/data2) ]).then(axios.spread((response1, response2) {// 处理两个响应 }));------------------------------------------------- //axios拦截器 // 添加请求拦截器 axios.interceptors.request.use(config {// 在发送请求之前做些什么return config; }, error {// 对请求错误做些什么return Promise.reject(error); });// 添加响应拦截器 axios.interceptors.response.use(response {// 对响应数据做点什么return response; }, error {// 对响应错误做点什么return Promise.reject(error); }); import axios from axios import { Notification, MessageBox, Message, Loading } from element-ui import store from /store import { getToken } from /utils/auth import errorCode from /utils/errorCode import { tansParams, blobValidate } from /utils/ruoyi; import cache from /plugins/cache import { saveAs } from file-saver import qs from qslet downloadLoadingInstance; // 是否显示重新登录 export let isRelogin { show: false };// axios.defaults.headers[Content-Type] application/json;charsetutf-8 // 对应国际化资源文件后缀 axios.defaults.headers[Content-Language] zh_CN // 创建axios实例 const service axios.create({// axios中请求配置有baseURL选项表示请求URL公共部分baseURL: process.env.VUE_APP_BASE_API,// 超时timeout: 100000 })// request拦截器 service.interceptors.request.use(config {// 是否需要设置 tokenconst isToken (config.headers || {}).isToken false//此处以下为重点//headers中的content-type 默认的大多数情况是 application/json就是json序列化的格式config.headers[Content-Type] application/json//为了判断是否为formdata格式增加了一个变量为type,如果type存在而且是form的话则代表是formData的格式if (config.type config.type form) {config.headers[Content-Type] application/x-www-form-urlencoded//data是接收的数据接收的数据需要通过qs编码才可以直接使用if (config.data) {config.data qs.stringify(config.data)}}// 是否需要防止数据重复提交const isRepeatSubmit (config.headers || {}).repeatSubmit falseif (getToken() !isToken) {config.headers[Authorization] Bearer getToken() // 让每个请求携带自定义token 请根据实际情况自行修改}// get请求映射params参数if (config.method get config.params) {let url config.url ? tansParams(config.params);url url.slice(0, -1);config.params {};config.url url;}if (!isRepeatSubmit (config.method post || config.method put)) {const requestObj {url: config.url,data: typeof config.data object ? JSON.stringify(config.data) : config.data,time: new Date().getTime()}const sessionObj cache.session.getJSON(sessionObj)if (sessionObj undefined || sessionObj null || sessionObj ) {cache.session.setJSON(sessionObj, requestObj)} else {const s_url sessionObj.url; // 请求地址const s_data sessionObj.data; // 请求数据const s_time sessionObj.time; // 请求时间const interval 1000; // 间隔时间(ms)小于此时间视为重复提交if (s_data requestObj.data requestObj.time - s_time interval s_url requestObj.url) {const message 数据正在处理请勿重复提交;console.warn([${s_url}]: message)return Promise.reject(new Error(message))} else {cache.session.setJSON(sessionObj, requestObj)}}}return config }, error {console.log(error)Promise.reject(error) })// 响应拦截器 service.interceptors.response.use(res {// 未设置状态码则默认成功状态const code res.data.code || 200;// 获取错误信息const msg errorCode[code] || res.data.msg || errorCode[default]// 二进制数据则直接返回if (res.request.responseType blob || res.request.responseType arraybuffer) {return res.data}if (code 401) {if (!isRelogin.show) {isRelogin.show true;MessageBox.confirm(登录状态已过期您可以继续留在该页面或者重新登录, 系统提示, { confirmButtonText: 重新登录, cancelButtonText: 取消, type: warning }).then(() {isRelogin.show false;store.dispatch(LogOut).then(() {location.href process.env.VUE_APP_CONTEXT_PATH index;})}).catch(() {isRelogin.show false;});}return Promise.reject(无效的会话或者会话已过期请重新登录。)} // else if (code 500) {// Message({ message: msg, type: error })//redis错误待解决// return Promise.reject(new Error(msg))// } else if (code 601) {Message({ message: msg, type: warning })return Promise.reject(error)} else if (code ! 200) {Notification.error({ title: msg })return Promise.reject(error)} else {return res.data}},error {console.log(err error)let { message } error;if (message Network Error) {message 后端接口连接异常;} else if (message.includes(timeout)) {message 系统接口请求超时;} else if (message.includes(Request failed with status code)) {message 系统接口 message.substr(message.length - 3) 异常;}Message({ message: message, type: error, duration: 5 * 1000 })return Promise.reject(error)} )// 通用下载方法 export function download(url, params, filename, config) {downloadLoadingInstance Loading.service({ text: 正在下载数据请稍候, spinner: el-icon-loading, background: rgba(0, 0, 0, 0.7), })return service.post(url, params, {transformRequest: [(params) { return tansParams(params) }],headers: { Content-Type: application/x-www-form-urlencoded },responseType: blob,...config}).then(async (data) {const isBlob blobValidate(data);if (isBlob) {const blob new Blob([data])saveAs(blob, filename)} else {const resText await data.text();const rspObj JSON.parse(resText);const errMsg errorCode[rspObj.code] || rspObj.msg || errorCode[default]Message.error(errMsg);}downloadLoadingInstance.close();}).catch((r) {console.error(r)Message.error(下载文件出现错误请联系管理员)downloadLoadingInstance.close();}) }export default service
http://www.w-s-a.com/news/39641/

相关文章:

  • 平面设计培训网站建文帝网站建设
  • python网站建设佛山乐从网站建设
  • 网站 免费 托管运营app软件大全
  • 爱网站找不到了网站设计制作要交印花税
  • 分销平台是什么意思网站如何从行为数据进行优化
  • 做网站公司职务做民俗酒店到哪些网站推荐
  • 从0到建网站wordpress导航主题模板下载地址
  • 以3d全景做的网站统计网站的代码
  • 北辰网站建设WordPress换主题文件夹
  • 做网站的合同范文百度分析工具
  • 深圳企业网站制作公司单位注册wordpress发送邮件
  • 兰州专业网站建设团队wordpress 拉取点击数
  • 基于php房产网站开发ppt模板免费下载第一ppt
  • 网站盈利模式分析怎么做山东营销网站建设联系方式
  • 二级网站建设 知乎我的个人主页模板
  • wordpress小说网站模板下载地址百度优化服务
  • 云南网页设计制作seo计费系统源码
  • 屏蔽ip网站吗行业外贸网站建设
  • 河北城乡建设学校网站常州网站建设公司平台
  • 合肥网站建设市场分析网站收录后怎么做排名
  • 湖南企业网站建设如何推广手机网站
  • 网站建设项目经历网站推广服务 商务服务
  • 加强网站的建设福州seo排名外包
  • 做婚庆找什么网站有专门为个人网站做推广的吗
  • 网站搭建要求模板学编程需要英语基础吗
  • 网上如何建网站卖量具净水机企业网站源码
  • 网站推广 软件规划设计公司年终总结
  • 视频网站开发方法微站网建站系统
  • 渐变网站网页界面设计的宗旨是什么
  • 网站排名提升工具免费韶关做网站公司