我的问题是当我尝试在js中使用php变量的值时。
此代码有效
var OmdbApi = 1fb4ed32;
但是,当我尝试使用与存储在变量中相同的值时,代码将中断
var OmdbApi = json_encode($mhflix_opc[\'omdb-api\']);
完整代码:
function custom_admin_js() {
echo '
<script>
jQuery.noConflict();
jQuery(\'input[name=Checkbx]\').click(function() {
var coc = jQuery(\'input[name=Checkbx2]\').get(0).value;
var OmdbApi = json_encode($mhflix_opc[\'omdb-api\']);
jQuery.getJSON("https://www.omdbapi.com/?apikey=" + OmdbApi + "&i=" + coc, function(data) {
var valDir = "";
var valWri = "";
var valAct = "";
var valCou = "";
jQuery.each(data, function(key, val) {
jQuery(\'input[name=\' +key+ \']\').val(val);
if(key == "Director"){
valDir+= " "+val+",";
}
if(key == "Writer"){
valWri+= " "+val+",";
}
if(key == "Actors"){
valAct+= " "+val+",";
}
if(key == "Country"){
valCou+= " "+val+",";
}
});
jQuery(\'#new-tag-director\').val(valDir);
jQuery(\'#new-tag-escritor\').val(valWri);
jQuery(\'#new-tag-actor\').val(valAct);
jQuery(\'#new-tag-country\').val(valCou);
alert(\'Se generó todo automáticamente.\');
});
});
</script>';
}
add_action('admin_footer', 'custom_admin_js');
function custom_admin_js() {
//define the variable OmdbApi here, result must be a simple string
$omdbApi = json_encode($mhflix_opc['omdb-api']);
echo '<script>
jQuery.noConflict();
jQuery(\'input[name=Checkbx]\').click(function() {
var coc = jQuery(\'input[name=Checkbx2]\').get(0).value;';
//Here we want to produce, depending on the value
// var OmdbApi = 'ekrpweg' ;
echo 'var OmdbApi = "' . $omdbApi . '" ;';
echo 'the rest of the echo here';
}
如果PHP
echo
陷入script
困境怎么办?那不是PHP变量,而是JS变量。
这是解决方案的两个版本(可能存在语法错误,不记得了)。但是想法就在这里,不要指望PHP代码可以在浏览器上运行。
未捕获的未引用错误$ mhflix_opc,但是我尝试了var_dump($ mhflix_opc ['omdb-api']); 和工作,问题出在js上。
谢谢,它的作品。小修复echo'var OmdbApi =“'。$ omdbApi。'”;';