2017-02-26 3 views
0

Bitte helfen Sie mir, meine Ajax nicht jeden Ausgang drucken, aber wenn ich alert() verwendet, um die Ausgabe zu drucken, zeigt es die Ausgabe.Drucken Ajax-Ausgabe in Div

$(".grp-ans").each(function(e){ 
     $.ajax({ 
      type: 'POST', 
      url: 'show-answer.php', 
      data: { 
       'p_id': $(this).attr('id') 
      }, 
      success: function(data){ 
       $(this).text(data); 
      },error: function(msg){ 
       $(this).text("error"); 
      } 
     }); 
    }); 
+0

Können Sie die Ajax-Ausgabe anzeigen? – Psi

+0

der Ausgang ist nur ein einfacher Text wie "Lester" –

+0

der 'this' bezieht sich auf die Funktion selbst. Vielleicht möchten Sie stattdessen den Fettpfeil verwenden. Konvertiere 'function (e)' in '(e) =>' Oder benutze einfach '$ (e.target) .text (data)' wenn das das Ereignis ist –

Antwort

0

Ich denke, ich weiß, was dein Problem ist hier ein: Ihr Hinweis auf this in dem Ajax-Rückruf geändert wird. Versuchen Sie, die Rückrufe wie folgt zu binden:

$(".grp-ans").each(function(e){ 
     $.ajax({ 
      type: 'POST', 
      url: 'show-answer.php', 
      data: { 
       'p_id': $(this).attr('id') 
      }, 
      success: function(data){ 
       $(this).text(data); 
      }.bind(this),error: function(msg){ 
       $(this).text("error"); 
      }.bind(this) 
     }); 
    }); 
+0

Danke, dass es funktioniert! Du bist eine große Hilfe –

Verwandte Themen