0

我正在“查找名称”页面上工作 - 用户输入一个或多个字母,这些字母通过 ajax 传递给服务器,服务器查询一个数据库,数据库返回一个 json 数组(我昨天学会了如何做到这一点) 包含字母的名称,然后我将列表发布在 div 中。

示例:用户输入“wa”并返回“George Washington”(所有姓氏都带有“wa”)。

服务器端 PHP 代码运行良好——我单独测试过它,它以正确的 json 格式返回所有正确的名称。

客户端工作正常,但是!我使用“蛮力”技术只是为了查看是否可以使用 jQuery ().html() 命令将数组放入 div(我可以开始工作的唯一命令 - 我尝试了 .val、.data 和一堆将数组放入 div 的其他方法。)。

这是将 json 数组放入 div 的代码。是的,正确,它很丑 - 但只要数组的大小> = 15(我的“html”中的行数 - 否则不会在 div 中发布任何内容),它就可以工作。

$.ajax({//------------------------start of ajax---------------------------------->
  type: "POST",
  url: "findpatientbackend.php",
  data: {letterslastname: lastname},
  dataType : 'json',
  success: function(result) {$("#div1").html(
    "----" + result[0].localid + "--------------" + result[0].lastname + "-------------" + result[0].firstname + "<br>" +
    "----" + result[1].localid + "--------------" + result[1].lastname + "-------------" + result[1].firstname + "<br>" +
    "----" + result[2].localid + "--------------" + result[2].lastname + "-------------" + result[2].firstname + "<br>" +
    "----" + result[3].localid + "--------------" + result[3].lastname + "-------------" + result[3].firstname + "<br>" +
    "----" + result[4].localid + "--------------" + result[4].lastname + "-------------" + result[4].firstname + "<br>" +
    "----" + result[5].localid + "--------------" + result[5].lastname + "-------------" + result[5].firstname + "<br>" +
    "----" + result[6].localid + "--------------" + result[6].lastname + "-------------" + result[6].firstname + "<br>" +
    "----" + result[7].localid + "--------------" + result[7].lastname + "-------------" + result[7].firstname + "<br>" +
    "----" + result[8].localid + "--------------" + result[8].lastname + "-------------" + result[8].firstname + "<br>" +
    "----" + result[9].localid + "--------------" + result[9].lastname + "-------------" + result[9].firstname + "<br>" +
    "----" + result[10].localid + "--------------" + result[10].lastname + "-------------" + result[10].firstname + "<br>" +
    "----" + result[11].localid + "--------------" + result[11].lastname + "-------------" + result[11].firstname + "<br>" +            
    "----" + result[12].localid + "--------------" + result[12].lastname + "-------------" + result[12].firstname + "<br>" +    
    "----" + result[13].localid + "--------------" + result[13].lastname + "-------------" + result[13].firstname + "<br>" +    
    "----" + result[14].localid + "--------------" + result[14].lastname + "-------------" + result[14].firstname   
)},
  error : function() { alert("error on return"); }
});

所以,现在我的问题。鉴于这种情况-在jQuery命令内部,在ajax调用内部使用“result [x] .variable”解析json数组-执行将内容放入div的“while”循环的最佳方法是什么“自我调整”以获得正确的行数。

再次,我提前感谢您的帮助。

编辑:这是带有“未定义”的输出。

未定义----133-------------亚当斯-------------约翰

-----146--------------Alighieri--------------比阿特丽斯

-----154--------------Babb-------------嘘

-----153-------------比利时人-------------玫瑰色

----160--------------坎顿-------------丹尼尔

-----162--------------加洛-------------伯特利

4

1 回答 1

2
var output = "";
$.each(result, function(index, value) {
    output += "----" + value.localid + "--------------" + value.lastname + "-------------" + value.firstname + "<br>";
});

检查是否有 15 个或更多结果 - result.length >= 15

所以最终代码将如下所示:

$.ajax({//------------------------start of ajax---------------------------------->
    type: "POST",
    url: "findpatientbackend.php",
    data: {letterslastname: lastname},
    dataType : 'json',
    success: function(result) {
        if(result.length >= 15) {
            var output = "";
            $.each(result, function(index, value) {
                output += "----" + value.localid + "--------------" + value.lastname + "-------------" + value.firstname + "<br>";
            });
            $("#div1").html(output);
        }
    },
    error : function() { alert("error on return"); }
});
于 2013-06-30T14:30:40.313 回答