簡體   English   中英

如何確定使用JQuery和Ajax調用哪個函數?

[英]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中,您可以看到兩個不同的按鈕NewEdit 我只在表中顯示了一條記錄用於測試。 所以在這種情況下,我想知道如何在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM