2016-07-19 165 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(); 

我希望這會幫助你。