我使用$('#myForm').submit
提交表單我的其餘服務接受application/x-www-form-urlencoded
的內容類型,但是當使用submit()時,我無法在瀏覽器開發人員工具中的XHR選項卡中看到請求,並且表單參數doesn沒有到達Rest服務,我可以使用AJAX post和指定內容類型,但Rest服務產生八位字節流,換句話說,響應包含一個可下載的文件csv/pdf,可以正確提交表單的解決方案是什麼?JQuery提交表單參數爲空
1
A
回答
1
爲什麼你不使用$ .ajax()類型爲「post」?您可以設置頁眉容易有
// Request with custom header
$.ajax({
url: 'foo/bar',
type: 'post',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
data: {}, // object of your data
success: function(response){
alert(response)
}
});
如果您的API響應是字節流或下載的文件,那麼你必須創建虛擬的形式,並通過jQuery的張貼,因爲通過AJAX是無法下載文件。當文件是當前頁面的下載內容將保持相同的事件表單發佈。
function autoGenerateAndSubmitForm(method, url, post_data) {
var element = document.getElementById("virtual_form");
if(element != null)
{
element.parentNode.removeChild(element);
}
var form = document.createElement("form");
form.setAttribute("id", "virtual_form");
form.setAttribute("style", "display:none;");
//form.setAttribute("target", "_blank"); // remove comment if you want to open it in new tab
form.method = method;
form.action = url;
for(i in post_data)
{
var element=document.createElement("input");
element.value=post_data[i];
element.name=i;
form.appendChild(element);
}
document.body.appendChild(form);
form.submit();
form.parentNode.removeChild(form);
}
撥打以下功能與波普爾的論點
autoGenerateAndSubmitForm('POST','your_url',{your_post_data_object:"Here"});
0
通常讀你的修改問題,如果該參數是它可以通過以下方面引起的API空後。
- 形式不正確序列化
- 指定的內容類型是不是你的API是當你正在使用AJAX確保您的形式不指定任何動作和方法,否則有可能是一個問題接受
- 。
- API預期的模型與表單提交的模型不匹配
- 使用Ajax時,將按鈕類型更改爲「按鈕」而不是「提交」。
相關問題
- 1. jQuery表單提交參數檢查
- 2. angularjs表單提交數據爲空
- 3. 提交表單作爲對象參數
- 4. 表單提交空
- 5. 使用JQuery AJAX向PHP提交表單,返回數據爲空
- 6. Jquery表單向Mysql提交空值
- 7. jquery表單提交空白值
- 8. jQuery Ajax表單提交,空返回
- 9. 表單(使用jquery)提交空值
- 10. jQuery表單提交
- 11. jquery表單提交
- 12. jQuery提交表單
- 13. jquery表單提交
- 14. jquery表單提交
- 15. jQuery - 表單提交
- 16. JQuery提交表單
- 17. JQuery - 表單提交
- 18. jQuery表單提交
- 19. Jquery表單提交
- 20. 表提交爲空
- 21. Portlet表單提交後字段爲空
- 22. 當提交表單時(MVC3)DropdownList爲空
- 23. ViewModel在表單提交時爲空
- 24. $ _FILES表單提交後爲空
- 25. 表單提交時模型爲空
- 26. 提交表單後POST值變爲空
- 27. 提交表單時$ _POST爲空
- 28. $ _post在提交表單後仍爲空
- 29. 表單提交後選擇值爲空
- 30. 提交表單問題:TypeError:this.form爲空
是的,與ajax後參數到達其餘服務,但我的休息服務返回八位字節流,所以ajax錯誤拋出,因爲它不能處理這種類型 – Donatas
你可以發佈API響應,或在響應它是下載文件? –
是的,它是下載文件,更確切地說是csv/pdf。 – Donatas