2016-08-08 27 views
0

Ich habe ein paar Probleme mit der Verwendung von Daten, die ich mit Ajax übergeben habe. Das ist der Ajax-Schnipsel in meinem Code:Verwendung mit Ajax bestanden Daten aus meiner Sicht - Laravel

$('a[data-id]').click(function() { 
      var id = $(this).attr('data-id'); 
      var domain = $(this).attr('data-domain'); 

      $.ajax({ 
       url: 'getdata', 
       type: 'GET', 
       dataType: 'json', 
       data: {id: id, domain: domain, tld: tld}, 
       success: function (data) { 
        $('.resultdomain').html(data); 
        console.log(data); 
       } 
      }); 
     }); 

In meinem Controller ist nur dies:

public function getData(Request $req) 
    { 
     $getdomain = Domains::where('id', '=', $req['id'])->first(); 
     return $getdomain; 
    } 

Also, wenn ich console.log (Daten) ich erhalte ein Objekt mit dem alle Daten, die ich brauche . Zum Beispiel (copy-paste von meiner Konsole):

Object { id: "5", cus_id: "1", name: "hello-from-the-other-site", tld: ".com", ...... } 

das ist toll, aber ich mag auch, dass verwenden und ich kann nicht herausfinden, wie.

Ich möchte den Domain-Namen + die Tld drucken. und einige andere Dinge aus.

so etwas wie:

Domain: (hier möchte ich den Namen + TLD zusammen sein). Erstelldaten: (Datum) Kunden-ID = (cus_id).

Vielen Dank für jede Hilfe und sorry für mein schlechtes Englisch :-)


aktuellen Ajax-Code:

$('a[data-id]').click(function() { 
      var id = $(this).attr('data-id'); 
      var domain = $(this).attr('data-domain'); 

      $.ajax({ 
       url: 'getdata', 
       type: 'GET', 
       dataType: 'json', 
       data: {id: id, domain: domain, tld: tld}, 
       success: function (data) { 
        var domain = data.name + data.tld; 
        $('.resultdomain').html(domain); 
       } 
      }); 
     }); 

aus meiner Sicht:

Domain: <div class="resultdomain"></div>

+0

versuchen, dies in Ihre Controller-Rückgabe Response :: json ($ getdomain); –

Antwort

1

Ihre data ist ein object. Sie können direkt auf die Eigenschaften zugreifen und die Zeichenfolgen erstellen, die Sie haben möchten. Also in Ihrem wie success Rückruf können Sie es wie folgt tun:

var data = { 
 
    id: "5", 
 
    cus_id: "1", 
 
    name: "hello-from-the-other-site", 
 
    tld: ".com" 
 
}; 
 

 
var domain = data.name + data.tld; 
 
$('.resultdomain').html(domain); 
 
console.log("My Domain: " + domain);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="resultdomain"></div>

+0

Ich möchte sie nicht console.log(). Ich möchte sie aus meiner Sicht ausdrucken. Das hat einfach nicht funktioniert. Der Ort, an dem die Domain geschrieben werden soll, ist leer. – WellNo

+0

Sorry, dachte, Sie wissen, wie Sie es in Ihrem Dokument einstellen. Es ist wie '$ ('. Resultsdomain'). Html (domain);' @WellNo :) – eisbehr

+0

schaue auf meine Frage, ich habe es aktualisiert, wie mein Ajax jetzt aussieht und wie ich versuche, es aus meiner Sicht zu verwenden . Ist irgendetwas nicht in Ordnung? Weil es immer noch nicht so funktioniert – WellNo

0

In Ihrem JS-Code, die success Funktion müsste so etwas wie die folgenden:

success: function (data) { 
    $('.resultdomain').html(data.name + data.tld); 
}