Ajax 完整函数即使 json 响应成功也不会设置背景图像

Ajax complete function not setting background-image even when json response is successful

本文关键字:设置 图像 背景 成功 响应 函数 json Ajax      更新时间:2023-09-26

我正在wordpress中开发一个主题,尽管得到了成功的ajax响应,但我无法设置背景图像。

我正在请求一个在 json 响应中成功给出的图像 URL,但我无法将图像设置为背景图像。

我正在使用以下 ajax 函数:

function Pat_Req(pat_val){
    $.ajax({
            type: 'POST',
            dataType: 'json',
            url: BAC_PAT_OBN.ajaxurl,
            data: {
                'action' : 'BAC_PAT_Ajax',
                'nonce' : BAC_PAT_OBN.nonce,
                'rpat' : parseInt(pat_val)
            },
            complete: function( object ) {
                $('#pat_bac').css('background-image',object.responseJSON.response_pat)
            }
        });
    }

"pat_val"是我从数字类型的输入中获得的整数。我测试了一下"pat_val"是否真的存储了输入中的整数,并且它确实存储了一个整数。

当输入值更改为 5 时,"pat_val"存储 5。

每次输入值发生变化时,都会触发Pat_Req函数。 以下 jQuery 代码正在执行此操作:

$('#The_pats input').on('change',function(){
    Pat_Req($(this).val())
})

"BAC_PAT_OBN"是我正在使用的JavaScript对象。

"object.responseJSON.res_pat"也给了我一个有效的图像URL。唯一的问题是Pat_Req完整的功能没有设置背景。

感谢您抽出宝贵时间并回答,唰。

如果你显示 Ajax 响应,它会更容易回答。我的猜测是你没有返回图像路径周围的url((。

$('#pat_bac').css('background-image', "url(" + object.responseJSON.response_pat + ")");