首页 > 编程知识 正文

js获取url后面的参数,html获取url上的参数

时间:2023-05-04 00:10:01 阅读:283508 作者:1053

(1)、vue的面试题

2018 vue前端面试题 - 实现丰盛 - 博客园​www.cnblogs.com

vuex实现购物车效果

https://blog.csdn.net/qq_35430000/article/details/79916110​blog.csdn.net

vue 动态路由传值

vue动态路由配置,vue路由传参 - 编程让我快乐 - 博客园​www.cnblogs.com vue动态路由配置,vue路由传参动态路由:
  当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个"共用"的组件,并且还要传参数,渲染不同的数据
  这就要用到动态路由跟路由传参了!
首先我们来了解下router-link这个组件:
  简单来说,它是个导航器,利用to属性导航到目标组件,并且在渲染的时候会自动生成一个a标签,当然官方也有说明,加个tag标签属性就可以渲染不同的标签,可以浏览器端查看到
  并且当一个导航器被激活的时候,会自动加上一个css的激活样式,可以全局在路由配置中设置linkActiveClass属性,属性名就是样式css名,一般写为active
  现在基本了解了router-link,先讲一下动态路由配置吧
我们在配置路由的时候,将目标组件的路径先配置好,如:


比如多个路由都要进入List组件,这时候在配置路由路径后加个:id(id可随便取名,标识),这个属性id可以在$route.params.id中获取,例如:


当前这个child组件要进入,以上配置的id就等于on;这时候在List组件中打印出$route.params.id就可以得到这个属性值on


这个时候,不同组件进入同一目标组件时就可以得到标识跟备注了,也可以利用这个来传递一些正常的参数
接着往下看,带参数的路由,跟获取传来的参数值
当router-link被激活点击时,会将当前的to的值push到router对象当中(路由栈),所以这个值可以是string也可以是obj
传参数的时候,我们就写成对象的形式,用到v-bind的js表达式


此时整个的理解可以为:我是child组件过来的,而且我还带来了我的名字,我叫child
在List组件当中去获取这个参数值跟id的值


如果是不同的组件过来的,可以设置不同的id值,只要在目标组件获取属性id的值就可以了,参数就利用query.属性值来获取

3、axios和ajax的区别

1.区别 axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。 简单来说: ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装。 axios是ajax ajax不止axios。

Ajax:
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。
Ajax = 异步 JavaScript 和 XML(标准通用标记语言的子集)。
Ajax 是一种用于创建快速动态网页的技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

$.ajax({ url: 'http://jsonplaceholder.typicode.com/users', type: 'get', dataType: 'json', data: { //'a': 1, //'b': 2, }, success: function (response) { console.log(response); } })

axios:
用于浏览器和node.js的基于Promise的HTTP客户端
1. 从浏览器制作XMLHttpRequests
2. 让HTTP从node.js的请求
3. 支持Promise API
4. 拦截请求和响应
5. 转换请求和响应数据
6. 取消请求
7. 自动转换为JSON数据
8. 客户端支持防止XSRF

axios({ url: 'http://jsonplaceholder.typicode.com/users', method: 'get', responseType: 'json', // 默认的 data: { //'a': 1, //'b': 2, } }).then(function (response) { console.log(response); console.log(response.data); }).catch(function (error) { console.log(error); })

2.优缺点: ajax: 本身是针对MVC的编程,不符合现在前端MVVM的浪潮 基于原生的XHR开发,XHR本身的架构不清晰,已经有了fetch的替代方案 JQuery整个项目太大,单纯使用ajax却要引入整个JQuery非常的不合理(采取个性化打包的方案又不能享受CDN服务 axios: 从 node.js 创建 http 请求 支持 Promise API 客户端支持防止CSRF

三、vuejs中引入项目中的静态文件,需要用require

{ name: "xx", icon: require("./assets/img/hstpBox/shebeiguanli.png"), }

四、请求后台的接口封装的

import axios from './request.js'import qs from 'qs';export function getAjax(url, params = {}) { return new Promise((reslove, reject) => { axios.get(url, { params: params }) .then(res => { reslove(res); }) .catch(err => { if (err.response) { this.$message({ type: 'error', message: err.response.data.message }); } reject(err) }) })}export function postAjax(url, params = {}) { return new Promise((reslove, reject) => { axios.post(url, params, { headers: { 'Content-Type': 'application/json' } }) .then(res => { reslove(res); }) .catch(err => { if (err.response) { this.$message({ type: 'error', message: err.response.data.message }); } reject(err) }) })}export function postAjaxS(url, params = {}) { return new Promise((reslove, reject) => { axios.post(url, qs.stringify(params), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }) .then(res => { reslove(res); }) .catch(err => { reject(err) }) })}export function putAjax(url, params = {}) { return new Promise((reslove, reject) => { axios.put(url, qs.stringify(params), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }) .then(res => { reslove(res); }) .catch(err => { reject(err) }) })}export function http(url, type, headers, params = {}) { return new Promise((reslove, reject) => { console.log(headers) axios({ url: url, method: type, data: params, headers: { 'Content-Type': headers }, }).then(res => { reslove(res) }).catch(err => { if (err.response) { this.$message({ type: 'error', message: err.response.data.message }); } reject(err) }) })}调取方式that .$pSAjax( this.url + `xxxx?currPage=${currPage}&pSize=${pSize}&pContent=${pContent}` ) .then(res => { if (res.resultCode == "success") { that.tableData = res.data.list; that.totalDataNumber = res.data.totalSize; } else { this.$message({ message: "获取数据失败", type: "error", showClose: true, duration: 3000 }); } }) ["catch"](() => { this.$message({ message: "获取数据失败", type: "error", showClose: true, duration: 3000 }); });

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。