为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 使用 Ajax 传递 JSON 数据以进行 inArray() 比较

PHP 使用 Ajax 传递 JSON 数据以进行 inArray() 比较

PHP
四季花海 2023-06-18 16:06:41
我正在尝试使用 Ajax 将 html 表单中的用户输入检查到数据库中的允许值列表,然后我想显示相应的消息。这是我正在使用的代码:js$(document).ready(function(e){  $.ajax({    type: 'POST',    url: 'datafile.php',    dataType : "json",    success: function(result) {          $("#postal_code").change(function(){            var postal_code = $("#postal_code").val().slice(0,-2);            if ($.inArray(postal_code,result) !== -1){             console.log('success');            } else {              console.log('failure');            }        });      }    });  });数据文件.php<?phprequire_once("./db_con.php");$query = mysqli_query($con, "SELECT postal_code FROM table");$rows = mysqli_fetch_all($query);echo json_encode($rows);mysqli_free_result($query);mysqli_close($con);exit();?>我遇到的问题是输入值永远不会匹配变量中的任何值,result即使我知道它们在数据库中也是如此。result我认为这个问题与变量在另一个数组中包含数组的事实有关,例如[["value1"],["value2"],["value3"]].
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

我不能真正谈论 JavaScript 部分,但由于您只选择一列,您可以将其提取到一个维度中。 mysqli_fetch_all默认获取一个数字索引数组:

$rows = array_column(mysqli_fetch_all($query), 0);

或者按列名获取和提取:

$rows = array_column(mysqli_fetch_all($query, MYSQLI_ASSOC), 'postal_code');


查看完整回答
反对 回复 2023-06-18
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信