2017-10-11 127 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