我试图弄清楚如何解决这个问题 - 我不确定它是否与我的本地配置或此库相关。
我使用Angular.js向REST服务器发送请求,将Chatwork / slim-json-request作为中间件。以下是请求标头:
Accept:application/json, text/plain, /
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:2019
Content-Type:multipart/form-data; boundary=----WebKitFormBoundary5q7WNrrXPm77DsQv
Host:test.localhost
Origin:http://localhost:9002
Referer:http://localhost:9002/Register
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
现在,在函数调用中,当我尝试打印出值时:
$app->request->getMediaType()
返回'multipart / form-data'
但是当我这样做时:
$app->request->getBody()
返回空,这应该返回通过表单提交(POST)发送的键值对
当我这样做时:
$app->request->post('param')
返回请求传递的值。
我正在使用来自here的Slim和Chatwork / slim-json请求的Angular.js。
非常感谢您的帮助。
答案 0 :(得分:0)
在开发工具中使用firefox网络并检查您的请求有时它只是在Cross origin发送OPTIONS请求(我坚持使用Firefox,因为它的网络工具比chrome和safari更详细) 看一下这个: CORS POST request to REST server