【问题标题】:Call PHP variable inside Javascript Jquery在 Javascript Jquery 中调用 PHP 变量
【发布时间】:2020-11-28 05:51:11
【问题描述】:

我的问题是当我尝试在 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');

【问题讨论】:

    标签: javascript php jquery wordpress


    【解决方案1】:
    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 echos 变成 script 块呢?
    • 那不是PHP变量,那是JS变量。
    • 这里有两个版本的解决方案(可能有语法错误,不记得了)。不过思路就到这里了,别指望PHP代码能在浏览器上运行。
    • 未捕获的引用错误 $mhflix_opc 未定义但我尝试了 var_dump($mhflix_opc['omdb-api']);和工作,问题出在js上。
    • 谢谢,它的作品。小修复 echo 'var OmdbApi = "' . $omdbApi . '" ;';
    猜你喜欢
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多