【问题标题】:Blank fields in modal after Ajax success callAjax 成功调用后模态中的空白字段
【发布时间】:2026-01-18 03:15:01
【问题描述】:

我成功调用了一个控制器(Laravel)并返回了 json 数据。

如何将返回的 json 数据映射到调用时打开的 Modal?控制台日志打印所有字段的响应数据。所以我一直在这两条线上尝试不同的方式:

$('input[name=starts_at]').val(response.starts_at); $('input[name=ends_at]').val(response.ends_at);

我已经尝试过了,但返回未定义的错误。

$('input[name=starts_at]').val(response[0].starts_at); $('input[name=ends_at]').val(response[0].ends_at);

Ajax调用如下:

$(document).ready(function() {
        $('.editApptModal-button').click(function() {
            var appointmentID = $(this).attr('data-appointmentID'); 
                $.ajax({
                    type: 'ajax',
                    method: 'get',
                    url: '/ajax',
                    data: {id:appointmentID},
                    async: false,
                    dataType: 'json',
                    success: function(response){
                        console.log(response);                      
                        $('input[name=starts_at]').val(response.starts_at);
                        $('input[name=ends_at]').val(response.ends_at);
                        $('#editApptModal').modal('show');
                    },
                    error: function(response){
                        alert('Could not displaying data'+response);
                    }           
                });
            });
        });

控制台日志数据

 Object {data: Object}
   data:Object 
    created_at: "2017-06-23 18:35:54"
    ends_at: "2017-06-26 15:00"
    id: 87
    starts_at: "2017-06-26 14:00"
    type: "test"
    updated_at: "2017-07-01 16:52:10"

【问题讨论】:

  • 这一行打印console.log(response); 什么?
  • 我已编辑添加控制台数据。
  • 看起来你应该这样做$('input[name=starts_at]').val(response.data.starts_at);
  • 魔法。您可以发布答案以便我投票吗?

标签: javascript jquery json ajax


【解决方案1】:

从您的 console.log 打印 - 看起来您应该更改

$('input[name=starts_at]').val(response.starts_at);

$('input[name=starts_at]').val(response.data.starts_at);

【讨论】: