2017-10-11 176 views
0

我試圖操縱我的AJAX響應。如何將AJAX響應轉換爲JSON?

enter image description here

我需要創建一個foreach與搜索results.This是我的代碼創建卡:

$('#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); 
    }); 
}); 

如何組織這個數據,這個循環會發生什麼?

我嘗試警報「alert(json [0]);」這是結果:

enter image description here

這是我的PHP頁面:

<?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

誰是給該響應的數據?如果他們在你的控制範圍內,我只是在發送之前修復它。這些數據是一團糟。它似乎只是一大堆沒有父容器的列表。 Idk你會如何輕鬆地創建一個有效的JSON。 – Carcigenicate

+0

嗨@Carcigenicate,我編輯了這個問題。 –

+0

你不能回聲多次。你發送的內容不是一個有效的結構。在服務器端循環中創建你的數組並在循環完成後發送該數組 – charlietfl

回答

0

PHP: 我在這裏存放你的名字對象爲returnarray數組變量然後我就返回輸出爲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); 

jQuery的 - 我只是轉換了JSON作爲JavaScript對象和安慰它

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 
} 

試試這個讓我知道您的意見

+0

返回此響應:https:// i。 imgur.com/46JPSDx.png –

+0

好的Carcigenicate我會立即更新它 – dinesh

+0

是的,這是你的PHP代碼的輸出 – dinesh