会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133683个问题
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 47楼

老师你好,在学es时看到一个很有意思的例子,具体见如下我自己写的代码:

<script>
        let url = 'http//www.imooc.com/course/list';
        let url1 = 'http//www.imooc.com/course/list?username=xm';
        let url2 = 'http//www.imooc.com/course/list?username=xm&';

        const addURLParam = (url, name, value) => {

            // url += url.includes("?") ? '&' : '?';
            //.substr(url.length - 1, 1)

            url += url.includes("?") ? '' && (url.substr(url.length - 1, 1).includes("?") ? '' : '&' && url.substr(url.length - 1, 1).includes("&") ? '' : '&') : '?';

            url += `${name}=${value}`;

            return url;
        };

        url = addURLParam(url, 'password', 'admin');
        console.log(url);

        url1 = addURLParam(url1, 'password', 'admin');
        console.log(url1);

        url2 = addURLParam(url2, 'password', 'admin');
        console.log(url2);
    </script>

做到这里我发现不管怎么该都实现不了最终的结果:


这是想要的结果:

图片.png



这是按照我自己的思路实现的结果

图片.png

我实现的思路就是:先使用includes方法判断url中是否包含?;如果包含?,再判断url最后一位字符串是不是?或&符号,是的话就拼接空字符串,否则就拼接&;如果不包含?,就拼接一个?。

但是我发现无论怎么设计、怎么改都不能实现最终想要的结果,想请你帮忙看看

WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 48楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 50楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 51楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 52楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 53楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 54楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 55楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 56楼

var express = require('express');
var app = express();
var data=require('./data')

app.get('/', (req, res) => {
    res.send('首页')

}
)

app.get('/news',(req,res)=>{
    var id=req.query.id;
    res.send({
        id:id,
        title:'新闻表示'+id,
        desc:'新闻介绍哈哈哈哈哈'+id,
        commentsUrl:'/comments?pingId='+id
    })
})
  app.get('/comments',(req,res)=>{
      var pingId=req.query.pingId;
      res.send(
          data.filter((item)=>{
              return item &&item.id==pingId
          })
      )

  })
app.listen(3000,()=>{
    console.log(3000);
})


module.exports = [
    {
        id: '1001',
        name: 'la1', content: 'lalalalal'
    }, {
        id: '1002',
        name: 'la2',
        content: 'enenenene'
    }, {
        id: '1003',
        name: 'la',
        content: 'yiyiiyi'
    }
]
function getNews(url) {
    let promise = new Promise((resolve, reject) => {
        $.ajax(
            {
                type: 'get', url: url,

                success: (res) => {
                    resolve(res);
                },
                error: (resolve) => {
                   reject(err)
                }
            }
        )
    })
    return promise;
}

getNews('http://localhost:3000/news?id=1001').then(
    (res) => {
        console.log(res);
        var url = res.commentsUrl;
        return getNews('http://localhost:3000' + url)
    }, (err) => {
        console.log(err);
    }
).then((data) => {
    console.log(data);
}, (err) => {
    console.log(err);
})


老师为什么我实现不了功能image.png

WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第二部分 57楼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Promise实现网络请求-异步请求-同步显示</title>
</head>
<body>
<script>
    //1.获取新闻信息 和评论  1.先获取新闻信息---2.获取后从里面获取标识  3.请求评论
    function getNews() {
        var promise=new Promise((resolve, reject) => {
            $.ajax({
                type:get,
                success:(res)=>{
                    resolve(res);
                },
                error:(err)=>{
                    reject(err);
                }
            })
        });
        return promise;
    }
    //调用接口 获取数据
    getNews()
    .then((res)=>{
        console.log(res);
    },(err)=>{
       console.log(err);
    })
</script>
<!--利用script标签实现跨域,需要后台配合-->
<script src="19-实现跨域.php?id=1002"></script>
</body>
</html>

<?php
    $id=isset($_GET['id'])?$_GET['id']:'1';
    $con=new PDO('mysql:host=localhost;dbname=beixidb;port=3306;charset=utf8','root','');
    $result=$con->query("select * from xinwen where id={$id}");
    $err='没有成功接收到数据';
    if($result){
      $res=$result->fetch(PDO::FETCH_ASSOC);
      echo json_encode($res);

    }else{
      echo json_encode($err);
    }

?>

blob.png

老师,我不会弄了

WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第二部分 59楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637