如何使用 JS/JQuery 显示数组中的单个项目

How to display single items from array using JS/JQuery

这是我的第一个问题,请多关照 ^^ 我正在训练自己 JS/Jquery/Ajax。 简短:Projekt 过滤特定公司最接近我们当前邮政编码的位置。 所以,到目前为止,这是我的“工作”:在 index.php 上,我使用这样的简单形式:

<form id="ajaxForm">
                <input type="number" class="form-control" id="plzInput" name="plzInput" placeholder="99999"
                       aria-label="Username" aria-describedby="basic-addon1" required>
                <button type="submit" id="plzSubmit" name="plzSubmit" class="btn btn-primary">Search</button>
            </form>

我使用 ajax 将一些数据传递给 ajax.php:

 var request;
     $("#ajaxForm").submit(function (event) {
         event.preventDefault();
         if (request) {
             request.abort();
         }
         var $form = $(this);

         //Caching
         var $inputs = $form.find("input, select, button, textarea");

         var serializedData = $form.serialize();
         $inputs.prop("disabled", true);
         request = $.ajax({
             url: "ajax.php",
             type: "post",
             data: serializedData
         });
         request.done(function (response, textStatus, jqXHR) {
             console.log("in ajax.php geschrieben!");
             console.log(response);
             showResults(response);


         });
         request.fail(function (jqXHR, textStatus, errorThrown) {
             console.error(
                 "The following error occurred: " +
                 textStatus, errorThrown
             );
         });
         request.always(function () {
             $inputs.prop("disabled", false);
         });
     });

     function showResults(data){
         alert(data);

     }
 });

此处数据最终使用 php 处理(数据库查询、计算、结果)。现在我正在努力研究如何将 ajax.php 的结果发送回索引。总而言之,我想从 SQLquery 发回一个数组,并使用 index.php 上的 js/jquery 将这些值显示到现有的 html 输入中。但我不知道为什么 ajax.php 的响应不能被 JS/Jquery 读取。我认为 php 数组与 js 数组有问题。有没有办法发送“多个”响应甚至一组响应?

我很高兴能得到您的帮助!

执行此操作的一个好方法是使用 JSON。

在 PHP 方面,在 ajax.php 中,您使用 json_encode() 将数组编码为字符串。

然后 JSON 字符串作为 response 在您的 Javascript AJAX 中接收。在那里你可以把它变成一个数组 JSON.parse():

let array = JSON.parse(response);

JQuery也有一个shorthand,见:

https://api.jquery.com/jQuery.getJSON/