刘师傅
- 刘师傅 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协议本身的一些东西,一边练习一边思考,你的水平就上来了。思考,编程,思考,编程,思考,编程。。。。。。- 刘师傅 回答了问题 select 返回报错啥情况,有请吃瓜大佬来围观
这个错误,是你的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个金钱