JQuery是一種Web開(kāi)發(fā)庫(kù),它提供了方便的方法來(lái)管理HTML文檔、事件、動(dòng)畫等。其中ajax是JQuery庫(kù)中最受歡迎的功能之一,它可以在不刷新整個(gè)頁(yè)面的情況下向服務(wù)器發(fā)送數(shù)據(jù),并使頁(yè)面的某個(gè)部分得到更新。
當(dāng)我們需要提交一個(gè)表單時(shí),ajax可以為我們提供非常便捷的方式。接下來(lái)我們就來(lái)看看在JQuery中如何通過(guò)ajax發(fā)送表單數(shù)據(jù)。
$('form').submit(function(event) {event.preventDefault();if (request) { request.abort(); }var $form = $(this);var $inputs = $form.find("input, select, button, textarea");var serializedData = $form.serialize();$inputs.prop("disabled", true);request = $.ajax({ url: "/form.php", type: "post", data: serializedData });request.done(function(response, textStatus, jqXHR){console.log("Hooray, it worked!"); });request.fail(function(jqXHR, textStatus, errorThrown){console.error( "The following error occurred: "+ textStatus, errorThrown ); });request.always(function(data_or_jqXHR, textStatus, jqXHR_or_errorThrown){$inputs.prop("disabled", false); }); });
可以看到,我們通過(guò)選擇表單元素,使用$form.serialize()將表單數(shù)據(jù)序列化,然后使用JQuery的$.ajax()函數(shù)將序列化后的數(shù)據(jù)post到我們?cè)O(shè)定好的url(此處為/form.php)中。在完成請(qǐng)求以及出現(xiàn)錯(cuò)誤的情況下,都會(huì)觸發(fā)相對(duì)應(yīng)的callback函數(shù)。
總的來(lái)說(shuō),通過(guò)JQuery的ajax屬性的使用,我們可以非常方便地向服務(wù)器提交表單數(shù)據(jù),使頁(yè)面的更新效果更加流暢。