在Ajax成功调用之后的模态中的空白字段

时间:2017-07-02 08:05:19

标签: javascript jquery json ajax

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

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

  

$('输入[名称= starts_at]&#39)。VAL(response.starts_at);   $('输入[名称= ends_at]')VAL(response.ends_at);

我试过这个但是返回了未定义的错误。

  

$('输入[名称= starts_at]&#39)。VAL(响应[0] .starts_at);   $('输入[名称= ends_at]&#39)。VAL(响应[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"

1 个答案:

答案 0 :(得分:1)

从你的console.log打印 - 看起来你应该改变

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

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