在从.get ajax调用接收数据后,我似乎无法让jQuery更改div的html和img的src。这是代码:
function setUpUser(method) {
$.get("scripts/loggedIn.php", {
method: method
})
.done(function(data) {
$('#loginForm').css("display", "none");
$('.account').css("display", "block");
$('#userName').html(data.userName);
$('#displayPic').attr("src", data.imagepath);
$('.mask').css("visibility", "hidden");
$('.loader').css("visibility", "hidden");
}, "json");
}
我做了一个console.log()来检查data.userName和data.imagepath是否正确无误。但是当调用发生时,所有代码都会执行,但div和img仍为空。任何jQuery大师都想帮忙吗?
编辑:
固定!我从调用结束时删除了“json”并改为使用JSON.parse(data)。这是固定代码:
function setUpUser(method) {
$.get("scripts/loggedIn.php", {
method: method
})
.done(function(data) {
var info = JSON.parse(data);
var imagepath = info.imagepath;
var name = info.userName;
console.log(imagepath);
$('#loginForm').css("display", "none");
$('.account').css("display", "block");
$('#userName').text(name);
$('#displayPic').attr("src", imagepath);
$('.mask').css("visibility", "hidden");
$('.loader').css("visibility", "hidden");
});
}
似乎“json”在文本和attr需要设置之后转换“数据”。我想。
答案 0 :(得分:0)
$('#userName').html(data.userName);
- >尝试使用text()
$('#displayPic').attr('src', data.imagepath);
- > imagepath可能需要相对于您的JS文件进行格式化。
答案 1 :(得分:0)
尝试使用...
$('#userName').text(data.userName);
$('#displayPic').prop('src', data.imagepath);