我有一个我的应用程序配置为使用 grunt-connect-proxy。请求到达服务器,除了 POST 请求之外,一切都运行良好。
当使用详细选项集运行 grunt 时,我可以看到:
Proxied request: /api/data.json -> http://myProdutionDomain.com:80/beta/api/data.json
{
"host": "0.0.0.0:9000",
"connection": "keep-alive",
"content-length": "15",
"accept": "application/json, text/plain, */*",
"origin": "http://0.0.0.0:9000",
"user-agent": "Mozilla/5.0 (Macintosh; ...)",
"content-type": "application/json;charset=UTF-8",
"referer": "http://0.0.0.0:9000/",
"accept-encoding": "gzip,deflate,sdch",
"accept-language": "en",
"cookie": "some-cookie",
}
我的代理配置如下:
proxies: [
{
context: '/api',
host: 'myProdutionDomain.com',
changeOrigin: true,
rewrite: {
'^/': '/beta/'
}
}
]
从Angular我只是这样做:
$http.post(requestUrl, {'id': id});
也试过:
request = $http.post(requestUrl, {'id': id}, {'headers': {'Content-Type': 'application/x-www-form-urlencoded'}});
问题是'id' post 参数永远不会发送到服务器。
有人有这方面的经验吗?