刘师傅

刘师傅

趁这阵子有兴趣就研究下呗

  • 财富值20887
  • 威望值220
  • 总积分23897

个人信息

  • 2018-12-25 已签到
    连续签到9天,获得了20个金钱
  • 回复了 的回答

    这个错误,是你的yii2升级版本导致的,之前已经好几个人发问过了,我也做过回答。具体你可以搜索下“headers already send"类似标题的【问答】吧。估计有近一个月了吧。祝你好运找到它,看明白!

    https://www.yiichina.com/question/3833 找到了。你从【已解决】的问答记录里翻翻吧

  • 2018-12-24 已签到
    连续签到8天,获得了20个金钱
  • 你不要认为post一定是x-www-form-urlencoded。实际上post只是http的一种请求方法而已。至于你的请求行,请求header,请求body都是可以定义的。所以到底是x-www-form-urlencoded还是form-data你完全可以自定义。
    话说回来,通常情况下,普通的表单提交默认都是urlencoded;而如果是文件上传,则必须是form-data。
    至于为啥,其实第一个回答者说到点上了,那就是传输的内容不同。文件(附件)这些属于文件流;urlencoded多半是url编码过的普通键值对文本。
    另外多说一句,post其实除了可以上述两种之外,还有直接传递一个普通的字符串,只要你的content-type设置正确匹配就行。你既然用过postman肯定见到过。
    再多说一句,你发现它们的不同很好,多多练习和发问。然后看看http协议本身的一些东西,一边练习一边思考,你的水平就上来了。思考,编程,思考,编程,思考,编程。。。。。。

  • 这个错误,是你的yii2升级版本导致的,之前已经好几个人发问过了,我也做过回答。具体你可以搜索下“headers already send"类似标题的【问答】吧。估计有近一个月了吧。祝你好运找到它,看明白!

  • 这个简单,其实如果你的应用不是针对全世界广大群众的,那么就不用那么限制Origin。

    header('Access-Control-Allow-Origin:*');
    

    PHP这边只要把客户端需要的关键几个header准备好就行,无论是不是发送options请求都
    把这些header发送给客户端浏览器也无所谓,你可以把发送header的部分写到构造函数里。

    接下来就要判断是不是OPTIONS的请求,如果是,那就一个exit()搞定。你说呢?

    if (Yii::$app->getRequest()->getMethod() === 'OPTIONS') {
      exit;
    }
    

    上面这个,你不想执行action的话,那可以写到beforeAction里,你觉得呢?
    这样在options这一请求,浏览器永远会收到可以放行的信号;那么你只要做好token验证就行了。
    你觉得咋样?

  • 2018-12-23 已签到
    连续签到7天,获得了20个金钱
  • 2018-12-22 已签到
    连续签到6天,获得了20个金钱
  • 2018-12-21 已签到
    连续签到5天,获得了20个金钱
  • 回复了 的说说
    计划明年换公司,得看看yii2怎么用了..
    常来这里逛逛就行
副董事长 等级规则
23897/50000
资料完整度
70/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

9

Ta的访客

47