2013-04-25 16 views
5

Sto provando a scrivere la funzione jquery che verrà visualizzata e dire che Post ha avuto successo! e se non, Post non ha avuto successo! Come potrei usare un try catch con l'inserimento di alcuni jquery?Utilizzo di jquery per verificare se il test POST ha esito positivo

@using (Html.BeginForm("Admin", "Home", "POST")) 
{ 
<div class="well"> 
    <section> 
     <br> 
     <span style="font-weight:bold">Text File Destination:&#160;&#160;&#160;</span> 
     <input type="text" name="txt_file_dest" value="@ViewBag.GetTextPath"> 
     <span style="color:black">&#160;&#160;&#160;Example:</span><span style="color:blue"> \\invincible\\chemistry$\\</span> 
     <br> 
     <br> 
     <span style="font-weight:bold">SQL Connection String:</span> 
     <input type="text" name="sql_Connection" value="@ViewBag.GetSqlConnection"> 
     <span style="color:black">&#160;&#160;&#160;Example:</span> <span style="color:blue"> Server=-</span> 
     <br> 
     <br> 
     <button class="btn btn-success" type="submit" >Save Changes</button> 
    </section> 
</div> 

}

risposta

0
$.ajax({ 
    url: 'post.html', 
    success: function(){ 
    alert('success'); 
    }, 
    error: function(){ 
    alert('failure'); 
    } 
}); 
+0

Come dovrei farlo se sto usando un post helper HTML invece di postare tramite jquery/ajax? –

+0

Mai lavorato su HTML Helper Post. http://api.jquery.com/jQuery.ajax/ –

+0

Quindi c'è un modo per fare ciò che sto cercando di fare? –

0

Ad aggravare alla risposta di Sonu, ho trovato domande simili per quanto riguarda questo difficile da realizzare come la forma HTML presentare non ha richiamata e sembra che si consiglia di utilizzare ajax() quando si desidera una conferma postback dell'invio del modulo.

Si prega di vedere questo Stackoverflow Link.

1

Ti consigliamo di modificare la dichiarazione HtmlHelper BeginForm un po ', in modo che un attributo id sarà reso con l'elemento, in questo modo:

@using (Html.BeginForm("Admin", "Home", FormMethod.Post, new { id = "well-form" })) 

Ora è possibile aggiungere uno script sopra la dichiarazione che traps- e-invia il modulo e gestisce la risposta (esito positivo o errore).

<script> 
$(function() { 
    // Find the form with id='well-form' 
    $('#well-form').submit(function() { 
     $.ajax({ 
      url: this.action, 
      type: this.method, 
      data: $(this).serialize(), 
      success: function(result) { 
       alert('Post was successful!'); 
      }, 
      error: function(result) { 
       alert('Post was not successful!'); 
      } 
     }); 
     // return false to cancel the form post 
     // since javascript will perform it with ajax 
     return false; 
    }); 
}); 
</script> 
3

Così ho capito la mia risposta. Solo per riferimento futuro a chiunque lo provi, di seguito è quello che ho fatto. L'ho posizionato sopra @using (Html.BeginForm ("Admin", "Home", "POST")). @ Andrew Ho provato il tuo, ma non ho potuto farlo funzionare. Grazie a tutti per essere stato in grado di aiutarmi.

<script language="javascript" type="text/javascript"> 
    $(function() { 
     $("form").submit(function(e) { 
      $.post($(this).attr("action"), // url 
    $(this).serialize(), // data 
    function (data) { //success callback function 
    alert("Edit successful"); 
    }).error(function() { 
     alert('failure'); 
    }); 
      e.preventDefault(); 
      }); 
     }); 
</script> 
Problemi correlati