【问题标题】:JQuery ajax JSON result to text input valueJQuery ajax JSON结果到文本输入值
【发布时间】:2023-04-05 00:08:02
【问题描述】:

我有一个自动填充器,工作正常,现在我想添加一个“自动填充器” 这意味着,如果我从“自动完成程序”中选择“公司”之一 它应该从该公司的数据库中获取所有结果。

JSON 响应是:

[
    {
        "idfirma": "2222",
        "firmenname": "test",
        "strasse": "test",
        "plz": "",
        "ort": "test",
        "l‌​and": "",
        "webseite": "",
        "region": "",
        "aktiv": "1"
    }
]

到目前为止我得到了什么:

$(document).ready(function() {

    $(function() {
        $( "#firma_neu" ).autocomplete({
            source: "./firma_suche.php3",
            open: function(event, ui) {
                    var firmenname = $("#firma_neu").val();
                    },
            select: function(event, ui) {
                    event.preventDefault();
                    $("#firma_neu").val(ui.item.label);
                    $("#idfirma_neu").val(ui.item.value);

                    // Hier muss der if selected aufruf kommen

                        var dataString = 'firmenID='+ ui.item.value ;
                          $.ajax({
                            type: "POST",
                            data:  dataString,
                            url: "./loadFirma.php",
                            dataType: "json",

                             success: function(result){

                              $("#Strasse1").val(result.strasse);
                              $("#PLZ1").val(result.item.plz);
                              $("#Ort1").val(result.item.ort);
                              $("#Land1").val(result.item.land);
                              $("#Region1").val(result.item.region);

                             }
                           });

                    },
            minLength: 2
        });
    });

});

我从 loadFirma.php 得到正确答案,但我无法使用它们...
结果.strasse
和 result.item.strasse
两者都行不通

【问题讨论】:

  • 您没有发送任何数据。在您的 AJAX 请求中添加 data: dataString
  • 啊 sry 添加了数据:dataString;
  • 如果我使用:alert(result['strasse']) 或 alert(result.strasse) 都是空的。 ---- alert(result) 给了我 [object Object]
  • [{"idfirma":"2222","firmenname":"test","strasse":"test","plz":"","ort":"test","土地":"","webseite":"","re​​gion":"","aktiv":"1"}]
  • 你应该避免在代码中使用语言混搭

标签: javascript jquery ajax json input


【解决方案1】:

服务器端正在输出 JSON,但它是一个数组。看看它是如何被[]包围的?所以result.strasse 不存在。

在尝试访问strsse之前更改为访问数组中的第一个元素:

$("#Strasse1").val(result[0].strasse);

如果您期望多个结果,那么您可以遍历数组:

for(var i=0; i<result.length; i++){
    console.log(result[i].strasse)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    相关资源
    最近更新 更多