2016-07-19 111 views
0

我们有一个JavaScript/jQuery的形式,我们提出:表单POST提交请求显示为get请求

var form = jQuery("<form action='http://ourdomain.com/api/setter' method='post' target='response_frame'><input type='text' name='c' value='aaaa'></form>").appendTo(document.body); 
form.submit(); 

相应的请求显示为GET在IIS日志(和它缺少,因为它的“C”值应该是在身体)。任何提示POST如何成为GET?

我不能在本地重新制作它,它按预期的方式与POST一起工作,它只在IIS中的日志中显示。

+0

可能更容易检查浏览器的开发工具中正在发送什么类型的请求。例如。在chrome中打开网络选项卡,然后提交表单。 –

回答

1

发生这种情况是因为IIS向URL添加了引起301重定向的尾部斜杠。所以POST变成GET。作为解决方案尝试添加一个尾部的斜杠到您的表单动作:

var form = jQuery("<form action='http://ourdomain.com/api/setter/' method='post' target='response_frame'><input type='text' name='c' value='aaaa'></form>").appendTo(document.body); 
form.submit(); 

我希望这会帮助你。