【发布时间】:2013-05-02 20:11:51
【问题描述】:
从 .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”在需要设置文本和属性之后转换了“数据”。我想。
【问题讨论】:
-
您可能希望在
#userName位上使用.text(),除非data.userName包含标签。 -
可能是您的 id 错误。例如,如果您使用 ASP.NET 和母版页,那么 ID 将获得前缀。否则,也许您已经有一个 src 属性并且您正在添加第二个 src?
标签: jquery