dongcx1234567

dongcx1234567 查看完整档案

上海编辑  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

dongcx1234567 回答了问题 · 2019-08-18

Cookie 的问题

clipboard.png
@唯一丶
上面这个是一个普通的请求,请求前端的

关注 2 回答 2

dongcx1234567 提出了问题 · 2019-08-18

Cookie 的问题

描述:
前端项目部署在http://localhost:8000,
后端项目部署在http://localhost:8888,
前端进入首页请求了一次后端,被后端拦截器拦截器返回需要登录的提示,前端解析后,跳转到登录界面。 登录后,set-cookie成功,以后的所有的localhost:8000/xxx请求都会携带cookie,现在重新回到首页,前端请求参数增加withCredentials=true,会重新请求一次后端。这时候发现浏览器直接报错了。发现是Access-Control-Allow-Origin不能指定为*,必须要明确主机来源。改为localhost:8000后重试,还是报错,说是必须有Access-Control-Allow-Credentials=true.搞定

问题:
1.第一次登陆的时候,调用http://localhost:8888/api/account/login
服务器端没有设置相应的domain,并addCookie。为什么cookie是种在了前端的8000上,而不是8888的?
2.登陆成功跳转到首页第二次请求服务器接口时,因为前端请求指定了withCredentials=true。后续再请求后端接口时为什么chrome看不到 request头部有cookie呢?实际上是能接收到的,浏览器为什么要隐藏呢
3.前端请求指定了withCredentials=true,难道请求首部没有任何的新增吗?

请大佬指教

关注 2 回答 2

dongcx1234567 提出了问题 · 2019-04-04

ant-design 里的例子被Input的原生的样式覆盖了

  1. 这是一个搜索框,引入在我的项目里

clipboard.png
发现错位了

 <div className={styles["global-search-wrapper"]} style={{ width: 300 }}>
        <AutoComplete
          className={styles["global-search"]}
          size="large"
          style={{ width: '100%' }}
          dataSource={dataSource.map(renderOption)}
          onSelect={onSelect}
          onSearch={this.handleSearch}
          placeholder="input here"
          optionLabelProp="text"
        >
          <Input
            suffix={(
              <Button className={styles["input-icon"]} size="large" type="primary">
                <Icon type="search" />
              </Button>
            )}
          />
        </AutoComplete>
      </div>

通过调试发现实际工作的样式是

.ant-input-affix-wrapper .ant-input-suffix {
    right: 12px;
}

但是实际上官方的例子中,已经覆盖了

.global-search.ant-select-auto-complete .ant-input-affix-wrapper .ant-input-suffix {
   right: 0px;
 }

为什么下面的优先级没有上面的高呢?
上面的是Input这个组件里带的

关注 2 回答 1

dongcx1234567 提出了问题 · 2019-02-23

为什么antd 组件里可以随意用document

1.这个document既不是方法的参数,又不是成员变量。再看父类也没有。为啥这里可以直接用?

clipboard.png

关注 4 回答 4

dongcx1234567 赞了回答 · 2018-09-05

解决用ant design为啥样式没有显示出来

...好吧,下面的东西确实不能解决问题,很抱歉答的太随意,原因应该是css-loaderoptions中配置了module: true的问题,这样会开启css-module,会默认对所有的类名与动画名启用局部作用域css。测试的方法是引入自己写的css文件,其中类选择器的样式不会生效,通过其他选择器声明的可以生效。详细参考下面的链接:
https://webpack.js.org/loader...
https://github.com/css-module...
--------------------我是分割线-------------------------
新建一个css文件,然后在你的js中引入你新建的css,在你新建的css中加入下面的代码。。。但是我不确定对你有没有用。
@import '~antd/dist/antd.css';
图片描述

关注 3 回答 3

dongcx1234567 回答了问题 · 2018-09-05

解决用ant design为啥样式没有显示出来

有人吗☺。。。

关注 3 回答 3

dongcx1234567 关注了问题 · 2018-09-05

解决用ant design为啥样式没有显示出来

import { Button } from 'antd';
import ReactDOM from 'react-dom';
import React from 'react';
import 'antd/dist/antd.css';

ReactDOM.render(
    <div>
        <Button type="primary">Primary</Button>
        <Button>Default</Button>
        <Button type="dashed">Dashed</Button>
        <Button type="danger">Danger</Button>
    </div>,
    document.getElementById('app'));

webpack.config.js

path = require('path');
HtmlPackagePlugin = require('html-webpack-plugin');

module.exports = {
    entry: './src/app.js',
    output: {
        path: path.resolve(__dirname, './dist/js')
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    {loader: 'style-loader'},
                    {
                        loader: 'css-loader',
                        options: {
                            modules: true,
                            importLoaders: 1
                        },
                    },
                    {loader: 'postcss-loader'}
                ]
            },
            {
                test: /\.html$/,
                use: 'html-loader'
            },
            {
                test: /\.tpl$/,
                use: 'ejs-loader'
            },
            {
                test: /\.(png|jpg|gif|svg)$/i,
                use: 'file-loader'
            },
            {
                test: /\.less$/,
                use: [{
                    loader: "style-loader"
                }, {
                    loader: "css-loader"
                }, {
                    loader: "less-loader", options: {
                        strictMath: true,
                        noIeCompat: true
                    }
                }]
            },
            {
                test: /\.js$/,
                use: [
                    {
                        loader: 'babel-loader',
                    }
                ]
            }
        ]
    },
    plugins: [
        new HtmlPackagePlugin({
            filename: 'index.html',
            template: './src/index.html',
            inject: 'body',
        })
    ]
};

为什么显示不出来

clipboard.png

关注 3 回答 3

dongcx1234567 提出了问题 · 2018-09-05

解决用ant design为啥样式没有显示出来

import { Button } from 'antd';
import ReactDOM from 'react-dom';
import React from 'react';
import 'antd/dist/antd.css';

ReactDOM.render(
    <div>
        <Button type="primary">Primary</Button>
        <Button>Default</Button>
        <Button type="dashed">Dashed</Button>
        <Button type="danger">Danger</Button>
    </div>,
    document.getElementById('app'));

webpack.config.js

path = require('path');
HtmlPackagePlugin = require('html-webpack-plugin');

module.exports = {
    entry: './src/app.js',
    output: {
        path: path.resolve(__dirname, './dist/js')
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    {loader: 'style-loader'},
                    {
                        loader: 'css-loader',
                        options: {
                            modules: true,
                            importLoaders: 1
                        },
                    },
                    {loader: 'postcss-loader'}
                ]
            },
            {
                test: /\.html$/,
                use: 'html-loader'
            },
            {
                test: /\.tpl$/,
                use: 'ejs-loader'
            },
            {
                test: /\.(png|jpg|gif|svg)$/i,
                use: 'file-loader'
            },
            {
                test: /\.less$/,
                use: [{
                    loader: "style-loader"
                }, {
                    loader: "css-loader"
                }, {
                    loader: "less-loader", options: {
                        strictMath: true,
                        noIeCompat: true
                    }
                }]
            },
            {
                test: /\.js$/,
                use: [
                    {
                        loader: 'babel-loader',
                    }
                ]
            }
        ]
    },
    plugins: [
        new HtmlPackagePlugin({
            filename: 'index.html',
            template: './src/index.html',
            inject: 'body',
        })
    ]
};

为什么显示不出来

clipboard.png

关注 3 回答 3

dongcx1234567 赞了回答 · 2018-08-20

解决javascript对象的属性标签默认的不是false吗?

这个问题在MDN上 defineProperty 有解释,摘录如下:

  1. 该方法(指的是defineProperty)允许精确添加或修改对象的属性。这个方法允许修改默认的额外选项(或配置)。默认情况下,使用 Object.defineProperty() 添加的属性值是不可修改的。(即默认是false)
  2. 通过赋值操作添加的普通属性是可枚举的(比如本题目中使用JSON格式创建的对象,相当于是var a = {}; a.name='hello';,实际是赋值操作),能够在属性枚举期间呈现出来(for...in 或 Object.keys 方法), 这些属性的值可以被改变,也可以被删除。

关注 2 回答 1

dongcx1234567 提出了问题 · 2018-08-19

解决javascript对象的属性标签默认的不是false吗?

1.

let d1 = Object.getOwnPropertyDescriptor({name: "hello"}, 'name');
console.info(d1);

为什么打印出来是

{ value: 'hello',
  writable: true,
  enumerable: true,
  configurable: true }

而通过Object.defineProperties()定义的属性,这几个默认就是false

关注 2 回答 1

认证与成就

  • 获得 7 次点赞
  • 获得 62 枚徽章 获得 1 枚金徽章, 获得 20 枚银徽章, 获得 41 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2015-07-09
个人主页被 388 人浏览