无法验证json_decode关联数组元素

时间:2017-08-10 12:09:39

标签: javascript php jquery json ajax

我想在php中进行表单验证并将任何错误发送到ajax调用。 我将表单输入发布为一个带有命名索引的数组,从ajax调用到php控制器。在那里我使用json_decode()解码它。现在我想访问每个元素并为它们进行验证。

JS:

function init_order()
{
    var noOfSims = $('#a_noofsims').val();
    var network = $('#a_network').val();
    var plan = $('#plan').val();
    var o_data={};
    o_data["a_noOfSims"]=noOfSims;
    o_data["a_network"]=network;
    o_data["plan"]=plan;
    js_data=JSON.stringify(o_data);
    $.ajax({
        url:"<?php echo site_url('sim_orders_ajax/add')?>/",
        type:"POST",
        dataType:"JSON",
        data:{order_data:js_data},
        success:function(data)
        {
            alert(data.status);
        },
        error:function (jqXHR, textStatus, errorThrown)
        {
            alert("Error in adding order");
        }
    });

PHP:

public function add()
{
    $order_data=$_POST['order_data'];
    $j_data=json_decode($order_data, true);
    $noOfSims = $j_data["a_noOfSims"];
    $network = $j_data["a_network"];
    $plan = $j_data["plan"];

    if($noOfSims=='')
      $data="Error";
    else
      $data="No Error"

    echo json_encode(array("status" => $data));
}

在提交表单时,它转到ajax错误函数。如果我删除验证代码段,它将转到成功函数。我无法对json_decode关联数组中的元素做任何事情。我不明白问题所在。

修改

嗨,我很抱歉。正如评论中所提到的,这是导致问题的错字。谢谢你的帮助!

0 个答案:

没有答案