从URL取值传给后端

从URL传值给后端

java 复制代码
http://127.0.0.1:8080/blog_content.html?id=8

点击浏览文章详情,跳转至详情页面

从 url 中拿出文章 id,传给后端

  • 首先拿到url
  • 然后判断是否有值,从问号后面取值
  • params.split('&') 以 & 作为分割
  • 然后遍历字符数组 paramArr[i].split("="),又用 =等号 分割键和值
  • 判断 key 和传过来的 key 是否一样,一样就返回该 key 对应的 value 值
java 复制代码
     function getURLParam(key){
                var params = location.search;
                if(params.indexOf("?") >=0){//返回问号在字符串中第一次出现的位置,大于等于0说明问号存在
                    params = params.substring(params.indexOf("?")+1);//截取问号后面的参数
                    var paramArr = params.split('&');//使用&作为分割符
                    for(var i=0; i<paramArr.length;i++){
                        var namevalues = paramArr[i].split("=");
                        if(namevalues[0]==key){
                            return namevalues[1];
                        }
                    }

                }else{
                    return "";
                }
            }
java 复制代码
 function getArtDetail(){
                //从 url 中获取到文章的id
                var aid = getURLParam("id");
                if(aid != null && aid >0){

                //访问后端,更新访问量
                    jQuery.ajax({
                         url:"/art/setrcount",
                         type:"POST",
                         data:{"aid":aid},
                         success:function(result) {   
                        }
                    });
                    //访问后端查询文章详情
                    jQuery.ajax({
                        url:"/art/detail",
                        type:"POST",
                        data:{"aid":aid},
                        success:function(result){
                            if(result.code ==200 && result.data != null){
                                var art = result.data;
                                jQuery("#title").text(art.title);
                                jQuery("#data").text(art.createtime);
                                jQuery("#rcount").text(art.rcount);
                                editormd = editormd.markdownToHTML("editorDiv",{
                                    markdown:art.content
                                });
                                myInfo(art.uid);
                            }
                        }
                    });

                    }
            }    
            getArtDetail();//调用这个方法
   

因为这个方法经常使用,因此将他封装成一个工具方法,使用的时候调用即可


相关推荐
我命由我123453 天前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
第七种黄昏4 天前
大事件项目拆解:登录访问拦截实现详解
前端框架·vue·js
PineappleCode12 天前
用 “私房钱” 类比闭包:为啥它能访问外部变量?
前端·面试·js
上单带刀不带妹22 天前
Web Worker:解锁浏览器多线程,提升前端性能与体验
前端·js·web worke
qq_三哥啊23 天前
【HTML】<script>元素中的 defer 和 async 属性详解
html·js
我命由我123451 个月前
VSCode - VSCode 快速跳转标签页
开发语言·前端·ide·vscode·编辑器·html·js
结衣结衣.1 个月前
Vue3入门-计算属性+监听器
前端·javascript·vue.js·vue·js
草履虫建模1 个月前
前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例
java·前端·spring boot·机器人·intellij-idea·ruoyi·js
年纪轻轻就扛不住1 个月前
Express 入门指南(超详细教程)
前端·前端框架·node.js·express·js
伍哥的传说1 个月前
React 实现五子棋人机对战小游戏
前端·javascript·react.js·前端框架·node.js·ecmascript·js