为什么Ajax响应具有完整字符串时输入显示半文本

时间:2018-12-06 07:36:09

标签: jquery

我有一个脚本,可以从api中获取数据,并且在ajax成功响应中ajax得到了:-

date: "2018-12-06"
date_time: 1544077867
description: "This is second image"
id: 2
image_url: "image_url/image.jpg"
name: "Second Image"
status: 1

在将数据附加到输入字段的同时,它会例如从上面的数据中显示description like "This"description having "This is a second image"。对name所做的同样操作将在输入字段中显示为“ Second”,而其中包含“ Second Image”。我在下面发布了我的代码:-

success:function(response){
  console.log(response.response.data)
  console.log(response.response.data.description)
  $('#elements').append('<input id="name" type="text" value='+response.response.data.name+'><br><br>');
  $('#elements').append('<input id="description" type="text" value='+response.response.data.description+'><br><br>');
  $('#elements').append('<input id="image_url" type="text" value='+response.response.data.image_url+'><br><br>');
  $('#elements').append('<input id="date" type="text" value='+response.response.data.date+'><br><br>');
  $('#elements').append('<input id="date" type="hidden" value='+response.response.data.id+'><br><br>');
        }

2 个答案:

答案 0 :(得分:0)

将结果搅入引号:

<input id="name" type="text" value="'+response.response.data.name+'">
                                   ^                               ^

答案 1 :(得分:0)

尝试一下... 将value='+response.response.data.name+'更改为"'+response.response.data.name+'"

var response={
  response:{
    data:{
    date: "2018-12-06",
    date_time: 1544077867,
    description: "This is second image",
    id: 2,
    image_url: "image_url/image.jpg",
    name: "Second Image",
    status: 1
    }
  }
}
 $('#elements').append('<input id="name" type="text" value="'+response.response.data.name+'"><br><br>');
  $('#elements').append('<input id="description" type="text" value="'+response.response.data.description+'"><br><br>');
  $('#elements').append('<input id="image_url" type="text" value="'+response.response.data.image_url+'"><br><br>');
  $('#elements').append('<input id="date" type="text" value="'+response.response.data.date+'"><br><br>');
  $('#elements').append('<input id="date" type="hidden" value="'+response.response.data.id+'"><br><br>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="elements">

</div>