[英]How to decide which function to call with JQuery and Ajax?
我一直在開發單頁應用程序,用戶可以在其中運行不同的進程。 在某些情況下,這將涉及添加新記錄,更新現有記錄以及刪除記錄。 我的問題是在前端處理此過程的最佳方法是什么? 我試圖監視Stack-overflow
工作方式以及它們如何處理這種情況。 仍然可以說100%我了解,如果他們使用不同的url
或使用提交的表單數據來決定哪個進程應在后端運行。 這是一個小例子:
<div class="row">
<div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
<button type="button" name="new_record" id="new_record">New</button>
</div>
</div>
<table>
<thead>
<tr>
<th>Name</th>
<th>Status</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
<tr>
<td>New York</td>
<td>Active</td>
<td class="text-center">
<button class="record_edit">Edit</button>
</td>
</tr>
</tbody>
</table>
在上面的HTML中,您可以看到兩個不同的按鈕New
和Edit
。 我只在表中顯示了一條記錄用於測試。 所以在這種情況下,我想知道如何在JQuery / JavaScript和Ajax中處理它。 這是我的js代碼示例:
$('#frmSave').on('submit', submitFrm);
function submitFrm(e){
var formData = frmObject.serialize();
$.ajax({
type: 'POST',
url: 'Components/Functions.cfc?method=saveData',
data: formData,
dataType: 'json'
}).done(function(obj){
if(obj.STATUS === 200){
// Successfully saved.
}else{
// Error!
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert('Error: '+errorThrown);
});
}
您可以看到,我在“新建”和“編輯”兩種情況下都調用了一個函數。 在后端,我有兩個不同的過程。 一種用於插入,另一種用於更新。 基於從用戶傳遞的參數,這些參數將在后端確定。 我怎么知道我可以使用data-attributes
並將該值附加到具有url
名稱的formData
並發送到服務器。 有人會說這是不可靠的,我后端的代碼將根據表單數據中提交的參數進行插入或更新。 我想知道如今對於這種情況有什么好的方法。 如何以專業的方式處理? 如果有人有好的榜樣,請告訴我。 還有一件事,我想將這兩個進程保留在后端的同一功能中,以防止某些代碼冗余。
您可以做一些簡單的事情
.done(function(obj){
if(obj.STATUS === 200){
// Successfully saved.
$('#main').load("./newContent.cfm");
}
因此,一旦成功,它將加載newContent頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.