2020年6月

由于浏览器受同源策略的限制,在使用XMLHttpRequest对象进行跨域请求时,请求的时候会出现No 'Access-Control-Allow-Origin' header is present on the requested resource的问题,导致请求失败。
解决办法:

app = Flask(__name__)

# 跨域支持
def after_request(response):
    #JS前端跨域支持
    response.headers['Cache-Control'] = 'no-cache'
    response.headers['Access-Control-Allow-Origin'] = '*'
    return response

app.after_request(after_request)

Error: Avoided redundant navigation to current location ElementUI导航栏重复点菜单报错的解决办法:
首先打开我们的路由配置文件,ranhu就可以解决了。

import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router);

// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}

如果修改了push还是没有生效,那么可以尝试replace方法,例如:

const originalReplace = Router.prototype.replace;
Router.prototype.replace = function replace(location) {
  return originalReplace.call(this, location).catch(err => err);
};

为了我们网站更加的友好,我们通常会设置下404页面,让用户看到的更加的友好。往往要加一个404自定义的界面。IIS服务器呢,总是给我们显示一个默认的404页面,不太好用,那么小编今天介绍下在IIS7设置404页面(自定义404错误页面)的方法。

首先打开我们的IIS管理器。找到我们的网站。双击我们的网站,双击右侧的错误页。
one.jpeg

再双击404这一行
two.jpeg
取消下面的对勾,上面填入404.html(网站根目录里面要有404.html页面)
three.jpeg
fore.jpeg

小编今天升级了微信小程序开发工具,发现小程序里面出来了一个警告,显示无效的 appJSON["navigateToMiniProgramAppIdList"]。之前一直没有这个问题的。后来通过查资料发现。

从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。
从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。

所以说现在不需要这个配置项了,直接从app.json里面删除就可以了。

信号通过发送发生在核心框架的其它地方或 Flask 扩展的动作时的通知来帮助你解耦应用。简而言之,信号允许特定的发送端通知订阅者发生了什么。使用信号分为3步,定义信号,监听信号,发送信号。

  1. 定义信号:定义信号需要使用到blinker这个包的Namespace类来创建一个命名空间。比如定义一个在访问了某个视图函数的时候的信号。示例代码如下:

    # Namespace的作用:为了防止多人开发的时候,信号名字冲突的问题
    from blinker import Namespace
    my_signal = Namespace()
    visit_signal = my_signal.signal('my_signal')
  2. 监听信号:监听信号使用singal对象的connect方法,在这个方法中需要传递一个函数,用来接收以后监听到这个信号该做的事情。示例代码如下:

    mysignal.connect(visit_func)
  3. 发送信号:发送信号使用singal对象的send方法,这个方法可以传递一些其他参数过去。示例代码如下:

    my_signal.send(username='xiaoning')

Flask内置的信号

  1. template_rendered:模版渲染完成后的信号。
  2. before_render_template:模版渲染之前的信号。
  3. request_started:模版开始渲染。
  4. request_finished:模版渲染完成。
  5. request_tearing_down:request对象被销毁的信号。
  6. got_request_exception:视图函数发生异常的信号。一般可以监听这个信号,来记录网站异常信息。
  7. appcontext_tearing_down:app上下文被销毁的信号。
  8. appcontext_pushed:app上下文被推入到栈上的信号。
  9. appcontext_popped:app上下文被推出栈中的信号
  10. message_flashed:调用了Flask的flashed方法的信号。