2017-10-11 1 views
0

Ich versuche meine AJAX-Antwort zu manipulieren.Wie konvertiert man AJAX Antwort auf JSON?

enter image description here

Ich brauche eine foreach erstellen Karten mit den Such results.This zu erstellen, ist mein Code:

$('#OrdAlf').on("click", function(){ 
    var value = $(this).data("value"); 
    jQuery.ajax({ 
    url: theme_url + '/helpers/filter_index.php', 
    type: 'POST', 
    dataType: "text", 
    data: {ordFilter:value} 
    }).done(function(data){ 
    //console.log(); 
    var json = JSON.stringify(data); 
    alert(json); 
    var htmlLoad = '<div class="draggable ui-widget-content card-crm" id="card-crm"><div class="avatar-client"></div><div class="info-content"><p class="name">'+data+'</p><p class="info-contact"></p><p class="when-enter"><span class="ico-enter"></span></p></div><div class="icons-top"></div><div class="clear"></div></div></b>'; 
    var ajax_load = "<img src='https://i.imgur.com/FpzX0YO.gif' />"; 
     $("#card-container").html(htmlLoad); 
    }); 
}); 

Wie ich diese Daten organisieren für diese Schleife passieren?

Ich versuche Alarm "(json [0]);" und dies war das Ergebnis:

enter image description here

Dies ist meine PHP-Seite:

<?php 
require 'conexao.php'; 

if($_POST['ordFilter'] == 200){ 
    $selectNegociacaoASC = 'SELECT * FROM wp_crm_contacts WHERE user_id = '.$userId.' AND status is NULL ORDER BY name ASC;'; 
    $stmtNegociacaoASC = $db->prepare($selectNegociacaoASC); 
    $response = $stmtNegociacaoASC->execute(); 
    $resultNegociacaoASC = $stmtNegociacaoASC->fetchAll(PDO::FETCH_ASSOC); 
    $countNegociacaoASC = count($resultNegociacaoASC); 

    for($y = 0;$y < $countNegociacaoASC; $y++){ 
    $name[$y] = $resultNegociacaoASC[$y]['name']; 
    if($name != ""){ 
     echo json_encode($name); 
    } 
    } 
}; 
+0

wissen Versuchen lassen, wer die Antwortdaten zu geben? Wenn sie unter Ihrer Kontrolle sind, würde ich es einfach reparieren, bevor ich es sende. Diese Daten sind ein Durcheinander. Es scheint nur eine ganze Reihe von Listen ohne einen übergeordneten Container zu sein. Wie würden Sie das einfach zu einem gültigen JSON machen? – Carcigenicate

+0

Hi @Carcigenicate, ich habe die Frage bearbeitet. –

+0

Sie können nicht mehr als einmal echo. Was Sie senden, ist keine gültige Struktur. Erstellen Sie Ihr Array innerhalb der serverseitigen Schleife und senden Sie dieses Array nach Abschluss der Schleife – charlietfl

Antwort

0

PHP: hier i Ihren Namen Objekt in returnarray Array-Variable gespeichert dann ich nur zurückgeben die Ausgabe als json.

$returnarray= array(); 
for($y = 0;$y < $countNegociacaoASC; $y++){ 
$name[$y] = $resultNegociacaoASC[$y]['name']; 
if($name != ""){ 
    $returnarray[]=$name;//storing name object into array 
} 
echo json_encode($returnarray); 

In JQuery - i konvertieren nur die json als JavaScript-Objekt und tröstete es

jQuery.ajax({ 
url: theme_url + '/helpers/filter_index.php', 
type: 'POST', 
dataType: "text", 
data: {ordFilter:value} 
}).done(function(data){ 
var json = JSON.stringify(data); 
console.log(json) // You can get the object now 
} 

dies mir Ihre Kommentare

+0

geben Sie diese Antwort zurück: https: // i. imgur.com/46JPSDx.png –

+0

Ok Carcigenicate ich werde es jetzt aktualisieren – dinesh

+0

Ja das ist die Ausgabe Ihres PHP-Codes – dinesh

Verwandte Themen