我试试看。但响应是“[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
答案 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(),而不是
success
和error
。
从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>');