1.經常用form表單提交的小伙伴有沒有發現,form表單默認的提交是沒有返回值的,而且默認提交成功之后是跳轉,跳轉的action的路徑,下面寫一下默認的提交如何獲取到form表單的返回值json,並且阻止默認的跳轉動作。
頁面結構見下面:
<form target="form" action="" enctype="multipart/form-data" method="post">
<input type="file">
<button type="submit" id="submit" style="display:none">提交</button>
</form>
<iframe name="form" id="form" style="display:none"></iframe>
//細心的小伙伴有沒有發現上面的結構多了一個iframe的隱藏內聯框架,其實最主要的就是我們的form表單的target屬性值等於這個iframe的name和id,那么我們就可以用iframe來接收返回值,並且把默認的跳轉讓iframe去跳轉,下面是js的代碼,來獲取這個返回值json。
$("#submit").click();
$("#form").load(function(){
var text = $(this).contents().find("body").text(); //獲取到的是json的字符串
var j = $.parseJSON(text); //json字符串轉換成json對象
console.log(j)
})
//注意,只要這個iframe框架加載完成就說明發送成功了