Php 响应时未显示Ajax变量

Php 响应时未显示Ajax变量,php,html,ajax,arrays,json,Php,Html,Ajax,Arrays,Json,我正在尝试将一些ajax合并到我的代码中,目前它工作得很好,当用户单击一个按钮时,它将一些隐藏的输入发送到另一个php脚本,执行一些操作,然后将结果发送回并输出,所有更新都不需要刷新等等 然而,我尝试发送和接收的最后一部分是一个显示一些html代码的变量,换句话说,发送和输出的其他变量只是数字和字母,因为这是实际的div,但是它没有输出,我在没有ajax的情况下尝试过它,当页面第一次加载时,它工作得很好,但当我尝试使用ajax时,它就不工作了,希望下面的代码会更有意义。我希望能够发回的变量是$s

我正在尝试将一些ajax合并到我的代码中,目前它工作得很好,当用户单击一个按钮时,它将一些隐藏的输入发送到另一个php脚本,执行一些操作,然后将结果发送回并输出,所有更新都不需要刷新等等

然而,我尝试发送和接收的最后一部分是一个显示一些html代码的变量,换句话说,发送和输出的其他变量只是数字和字母,因为这是实际的div,但是它没有输出,我在没有ajax的情况下尝试过它,当页面第一次加载时,它工作得很好,但当我尝试使用ajax时,它就不工作了,希望下面的代码会更有意义。我希望能够发回的变量是
$sl\u output

主页上的AJAX代码

<script>
$(document).ready(function (){ 

    $(".add_detail_land_down").click(function(){

        var hidden_count = $('input[name=addon_detail_hidden_count]').val();
        var land_required = $('input[name=addon_hidden_land_required]').val();
        var sl_array = $('input[name=addon_hidden_shopping_list_array]').val();
        var button_tok = "land_down";

     $.ajax({
            type: "GET",
            url: "addon_detail_calc.php",
            data: { hidden_count: hidden_count, button_tok: button_tok, land_required: land_required, sl_array: sl_array  },
            dataType: "json",
            success: function (data) {
    $("#res_expected_gain").html(data.total_hidden);
    $("#output").html(data.output);
    $("#res_expected_profit").html(data.land_required);
    $("#res_total_supply_time").html(data.test_time);
    $("#land_selected_token").html(data.total_hidden);
    $("#sl_output_div").html(data.sl_output);
}
        });
        return false;
})

});
我想问题是,正在传输的html代码变量可以被查看和重新输出吗

编辑
我已经更新了上面的代码,似乎第一个问题是foreach循环没有处理正确的数据,我不得不重新排列并添加另一个数组。正因为如此,我必须将数组
final_sl_array
中的每个值放入一个变量中,我尝试将其内爆,当我在页面打开时通过普通php运行它时,它工作正常,但是,现在当我通过ajax尝试时,它不工作,并且不返回任何结果,你知道为什么它只适用于其中一种而不适用于另一种吗?

你是否使用firebug/chrome开发工具来验证json是否符合你的预期?此外,这些工具还可以帮助您查看dom,即查看dom是否有html,但可能CSS正在隐藏它或其他东西。好的,我刚刚检查过,它显示它没有发送任何内容,下面是它的一个片段
“land_required”:2,“test_time”:132,“sl_输出”:“
您可以看到,land_required和test_time返回了正确的结果,但我想要的sl_输出没有返回任何内容,您认为这是什么原因造成的?非常感谢您的帮助嗨,我已经设法弄明白,只要$sl_输出不在foreach中,它就可以工作,但不知道为什么?在您当前的代码中,您将
$final_sl_array
内爆为一个字符串,该字符串存储在名为
$array\u result
的变量中,但您从未输出该字符串。相反,您在JSON编码的输出中包含数组
$final\u sl\u array
。您好,对不起,我确实在JSON中包含了array\u result而不是final\u sl\u array,但我做了一些测试,并复制了错误的代码:/sorry
    <?php 
// header('application/json');
$hidden_count = $_GET["hidden_count"];
$button_tok = $_GET["button_tok"];
$land_required = $_GET["land_required"];
$sl_array = $_GET["sl_array"];
$sl_output = "";
if($button_tok == "land_up"){

    //MAIN CODE SHALL BE DONE HERE
    $hidden_count = $hidden_count + 1;
    $test_time = $hidden_count * 66;


    $new_sl_array = array();
$final_sl_array = array();
foreach ($sl_array as $columnName => $columnData) {

        if($columnName == "0"){
            unset($sl_array[$columnName]);

        }else{

            $new_columnData = $columnData * 54;
            $new_sl_array[$columnName] = $new_columnData;

        }

    }
foreach ($new_sl_array as $columnName => $columnData) {

            $sl_output = "";
            $sl_output = '<li class="add_detail_content_ele_wrap_ele"><div class="add_detail_content_ele_wrap_ele_header">'.$columnName.'</div><!--end add_detail_content_ele_wrap_ele_header--><div class="add_detail_content_ele_wrap_ele_pic"></div><!--end add_detail_content_ele_wrap_ele_pic--><div class="add_detail_content_ele_wrap_ele_amount">47 Required</div><!--end add_detail_content_ele_wrap_ele_amount--><div class="add_detail_content_ele_wrap_ele_user_amount">You Have 0</div><!--end add_detail_content_ele_wrap_ele_user_amount--></li>';

            $final_sl_array[$columnName] = $sl_output;

        }

$array_result = implode("", $final_sl_array);

    }else{        
        $hidden_count = $hidden_count;  

}else{

    $hidden_count = $hidden_count;  

}


$output = "";
$output = '<input type="hidden" name="addon_detail_hidden_count" id="addon_detail_hidden_count" class="addon_detail_hidden_count" value="'.$hidden_count.'" />';
include 'connect_to_mysql.php';

echo json_encode(array("total_hidden" => $hidden_count, "output" => $output, "land_required" => $hidden_count, "test_time" => $test_time, "sl_output" => $final_sl_array ));

 ?>