如何使用ajax在div id中显示值

时间:2016-12-11 17:00:39

标签: javascript ajax

我试试看。但响应是“[object Object]”

success: function(data) {    
  var response = jQuery.parseJSON(data);    
  console.log(response);
  if (response.confirmation == 'success') {
    $('.std_info').html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>');
  }
}

std_info是我的div id

4 个答案:

答案 0 :(得分:0)

  

从jQuery 3.0开始,不推荐使用$ .parseJSON。要解析JSON字符串,请使用本机JSON.parse方法。

http://api.jquery.com/jquery.parsejson/

所以也许试试var response = JSON.parse(data);

如果std_info是你应该使用的$('#std_info')

哦 - 但你最大的问题是:.html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>')你实际上是想把一个对象作为div的内容,

尝试.html('<p>Student Name: <input id="name" val="'+response.std_name+'" /></p>')(如果我得到的话,你就是这样)

答案 1 :(得分:0)

  

“std_info”是我的div id

您需要使用#表示身份不是.

使用此$('#std_info')代替$('.std_info')

  

我试试看。但响应是“[object Object]”

另一个问题是这一行

$('.std_info').html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>');

此处部分$('#name').val(response.std_name)会将值设置为id为name的input元素,而会返回一个Jquery对象,因此您将div内容视为[object Object] < / p>

您需要的是简单地从对象中分配值。这是你的最终代码

$('#std_info').html('<p>Student Name:'+ response.std_name +'</p>');

答案 2 :(得分:0)

  

从jQuery 3.0开始,您应该使用jqXHR.done()和jqXHR.fail(),而不是successerror

从jQuery 3.0开始,您应该使用JSON.parse()而不是parseJSON()。所以你的电话应该是这样的:

$.ajax({
   url: 'your/url',
   method: 'YOUR_METHOD',
   data: your_data_object
}).done(function(response){
    response = JSON.parse(response);
    if (response.confirmation == 'success') {
        $('#std_info').html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>');
  }
}).fail(function(error){
    console.log(error);
});

答案 3 :(得分:-1)

使用eval函数而不是JSON.parse.Try ..

success: function(data) {
var response = eval(data);
console.log(response);
var name=response.std_name;
var success=response.confirmation;
if(success == 'success') {
$('#std_info').html('<p>Student Name:'+$('#name').val(name)+'</p>');