jQuery .html()和.attr()在.get()调用之后无法正常工作

时间:2013-05-02 20:11:52

标签: jquery

在从.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需要设置之后转换“数据”。我想。

2 个答案:

答案 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);