如何在jQuery中有条件地显示URL以响应 AJAX 获取?

dl5txlt9  于 2023-08-04  发布在  jQuery
关注(0)|答案(2)|浏览(87)

我想达到的目标:如果某些员工的URL不存在,那么我不想显示该员工的链接本身,而不是显示错误页面。我用了两种不同的方法,没有一种有效。
我有下面的全部代码。所有这些都在工作,除了没有html页面的url部分,我的链接可以连接到。

function test(a,b) {

    var Name = a.text();
    $.ajax({
        type: "POST",
        url: "EmpServices.asmx/GetInfo",
        data: '{ "fieldName": "' + a.attr("id") + '"}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(results) {
            //            if (results.d.Url.length < 2)
            //            {
            //               $('#url').hide();
            //            }
            if (results.d.EmpName.length > 1) {
                var html = '<div style="width:25%;"><img src="' + results.d.image + '" /></div>'
                    + '<div  style="width:75%;">'
                    + '<div><h3>' + results.d.EmpName + '</h3></div>'
                    + '</div>';
                //+ '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';

                if (results.d.Url.length < 2) 
                {
                    html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
                }
                $(Employee).html(html);

            }
        },
        error: function() {
            $(Employee).html('Error');
        }
    });
}

字符串

jvidinwx

jvidinwx1#

你不能在这里调用$('#Url').hide(),因为你还没有将它添加到dom中,可以这样做:

var Name = a.text();
$.ajax({
    type: "POST",
    url: "EmpServices.asmx/GetInfo",
    data: '{ "fieldName": "' + a.attr("id") + '"}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(results) {
        if (results.d.EmpName.length > 1) {
            var html = '<div style="width:25%;"><img src="' + results.d.image + '" /></div>'
                + '<div  style="width:75%;">'
                + '<div><h3>' + results.d.EmpName + '</h3></div>'
                + '</div>';

            if (results.d.Url.length >= 2)
            {
                 html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
            }


            if (results.d.ProductUrl.length < 2) 
            {
                html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
            }
            $(contentElement).html(html);

        }
    },
    error: function() {
        $(contentElement).html('Error');
    }
});
}

字符串
我在这里做的不是添加一个url div,然后试图隐藏它,只是不要添加div,如果你没有url!

zbdgwd5y

zbdgwd5y2#

服务器端代码是你自己写的吗?如果你这样做了,你可以修改它以返回一个空字符串('')而不是null,如果URL不存在,你可以替换这个:

if (results.d.Url.length < 2) 
{
   html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
}

字符串
用这个:

if (results.d.Url) 
{
   $(html).append('<div id="url"><a href="' + results.d.Url + '">Info></a></div>');
}


$(html).append(...)负责在封闭的DIV中插入URL。

相关问题