You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ES6动态更新图片src时如何读取WordPress中PHP注入的全局JS变量值

问题根因

你在模板字面量中直接将var_set_in_php.image${name}作为字符串赋值给src,JS不会自动解析这段字符串为对象属性读取逻辑,所以最终请求地址会把这段字符串直接拼接到站点域名后,导致404错误。

修复方案

JS中要读取对象的动态属性,需要用方括号语法,修改后的函数代码如下:

function onChangeFunction(name) {
    // 先拼接动态属性名,再通过方括号读取全局对象的对应属性值
    document.getElementById('image').src = var_set_in_php[`image${name}`];
}

补充说明

你初始化时<img src={var_set_in_php.imageStars}>能正常工作,是因为这段代码是在JSX语法环境下执行,花括号内的内容会被解析为变量读取,不会被当成字符串处理。
如果担心全局变量作用域问题,也可以显式从window对象读取变量,写法为window.var_set_in_php[image${name}],兼容性更好。


内容的提问来源于stack exchange,提问作者Cofey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:15:04