gpt4 book ai didi

javascript - 无法验证 json_decode 关联数组元素

转载 作者:行者123 更新时间:2023-11-30 21:16:42 24 4
gpt4 key购买 nike

我想在 php 中进行表单验证并将任何错误发送到 ajax 调用。我将表单输入作为一个数组发布,其中包含来自对 php Controller 的 ajax 调用的命名索引。我在那里使用 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 关联数组中的元素执行任何操作。我不明白这是什么问题。

编辑

您好,非常抱歉。正如评论中提到的,是导致问题的错字。感谢您的帮助!

最佳答案

没有真正的理由需要将数据对象作为 json 发送。你可以只发送你的 o_data 对象,jQuery 会为你编码:

function init_order() {

var o_data = {
a_noOfSims: $('#a_noofsims').val(),
a_network: $('#a_network').val(),
plan: $('#plan').val()
};

$.ajax({
url: "<?php echo site_url('sim_orders_ajax/add')?>/",
type: "POST",
dataType: "JSON",
data: o_data,
success: .....
});
}

PHP

$noOfSims = $_POST["a_noOfSims"];
$network = $_POST["a_network"];
$plan = $_POST["plan"];

$data = empty($noOfSims) ? "Error" : "No Error";
echo json_encode(array("status" => $data));

关于javascript - 无法验证 json_decode 关联数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45613359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com