2

ColdFusion 8 と jQuery 1.7.2 を使用しています。

私は自分のサイトで大量の ajax を使用しています。通常は CFAJAXPROXY を使用しますが、これには制限があります。すべての値が URL に入れられ、約 1250 文字に制限されます。私のデータはそれを超えます(それぞれ4桁の1,000の値)。

通常、フォーム全体を一度に送信することはありません。私は通常、ボックスがチェックされているかチェックされていないかなど、必要に応じて小さな情報を送信します。これは、CFAJAXPROXY を使用すると非常にうまく機能します。今度は、一度に 1000 個 (またはそれ以上) のチェックボックスを送信する必要があり、システムにレンチがスローされます。

通常のフォーム投稿のように、ページ全体を更新せずに、この FORM を FORM POST として送信するにはどうすればよいですか?

// I WANT TO REFRESH THIS DIV ON FORM SUBMISSION
<div>
<fieldset>
<form method='post' action='?' id='jsSaveAllManufacturersForm'>
<input type='button' value='Select All ' id='jsSelectAll'>
<input type='button' value='Deselect All ' id='jsDeselectAll'> 
<input type='button' value='Save Changes' id='jsSaveChanges'>
<input type='checkbox' value='1'> 1
<input type='checkbox' value='2'> 2
<input type='checkbox' value='3'> 3
</form> 
</fieldset>
<div>

// SET VARS 
var $SaveAllManufacturersForm = $('#jsSaveAllManufacturersForm'),
$SelectAll = $('#jsSelectAll'),
$DeselectAll = $('#jsDeselectAll'),
$SaveChanges = $("#jsSaveChanges");

// MY FUNCTION WHEN FORM IS SUBMITTED
var saveChanges = function(e) {
e.preventDefault();
$SaveAllManufacturersForm.submit();
    jroDash.saveAllManufacturers($SaveAllManufacturersForm);
}

// ACTION THAT LAUNCHES THE FORM SUBMISSION
$SaveChanges.click(saveChanges);
4

1 に答える 1

4

CFAJAXPROXY は、GET の代わりに POST を使用するように簡単に設定できます。

<cfajaxproxy cfc="CFCName" jsclassname="CFProxy"> 

<script>
    myProxy = new CFProxy();
    myProxy.setHTTPMethod('POST');
    myProxy.doMyAjaxMethod();
</script>`

http://forta.com/blog/index.cfm/2007/10/15/Using-POST-For-ColdFusion-Ajax-Calls

于 2013-02-21T21:38:54.593 に答える