2017-05-21 9 views
0

Ich arbeite an einer einfachen AJAX-Anfrage, die eine URL aufruft, wenn auf eine Schaltfläche geklickt wird. Ich habe die Grundlagen erfolgreich arbeiten, so dass die GET-Anfrage an die URL gemacht wird, wenn auf die Schaltfläche geklickt wird und ich habe bestätigt, dass die GET-Anfrage durch Überprüfen der Protokolle auf dem anderen Server gemacht wurde. Hier ist die einfache Anfrage Skript:jQuery AJAX-Syntax zum Erhalten der Antwort

<script> 
 
    $("#callContact1").click(function() { 
 

 
    $.ajax({ 
 

 
     url: "https://www.server.com?type=makecall", 
 
     data: {}, 
 
     method: "GET", 
 
     success: function(data) { 
 

 
     } 
 

 
    }); 
 

 
    }); < 
 
/script>

ich jetzt versuchen, die Antwort von der GET-Anforderung in einem versteckten div in meinem html zu zeigen:

<div id="ajaxResponse" class="alert alert-info text-center" role="alert" style="display:none"> 
 
    Callback Response 
 
</div>

Ich habe das Skript wie folgt geändert:

<script> 
 
    $("#callContact1").click(function() { 
 

 
     $.ajax({ 
 

 
     url: "https://www.server.com?type=makecall", 
 
     data: {}, 
 
     method: "GET", 
 
     success: function(data) { 
 
      $('#ajaxResponse').html(data); 
 
      $("#ajaxResponse").show(); 
 

 
     } 
 
     }); 
 

 
     fail(function(xhr) { 
 
      var httpStatus = (xhr.status); 
 
      var ajaxError = 'There was an requesting the call back. HTTP Status: ' + httpStatus; 
 
      console.log('ajaxError: ' + ajaxError); 
 
      //make alert visible 
 
      $('#ajaxResponse').html(ajaxError); 
 
      $("#ajaxResponse").show(); 
 
     } 
 

 
     }); < 
 
    /script>

aber ich laufe in Syntaxfehler, die ich nicht zu überwinden scheinen kann. Grundsätzlich möchte ich die Antwort von der GET-Anfrage einfügen, die eine einfache Textantwort für eine erfolgreiche Anfrage oder einen Fehler enthält, wenn eine solche gefunden wurde.

+1

Ihr '

0

fail Methode ist in Ihrem Code nicht definiert. Sie können deferreddone/fail Methoden Erfolg befestigen und Rückrufe fehlschlagen:

<div id="ajaxResponse" class="alert alert-info text-center" role="alert" style="display:none"></div> 

<script> 
    $("#callContact1").click(function() { 

    $.ajax({ 

    url: "https://www.server.com?type=makecall", 
    data: {}, 
    method: "GET" 
    }).done(function (data) { 
     $('#ajaxResponse').html(data); 
     $("#ajaxResponse").show(); 
    }).fail(function (xhr){ 
     var httpStatus = xhr.status; 
     var ajaxError = 'There was an requesting the call back. HTTP Status: ' + httpStatus; 
     console.log('ajaxError: ' + ajaxError); 
     //make alert visible 
     $('#ajaxResponse').html(ajaxError); 
     $("#ajaxResponse").show(); 
    }); 
</script> 
+0

hinzufügen Fügen Sie eine Erklärung zu Ihrer Antwort hinzu, sonst ist es nur ein Stück Code. – Dekel