首页 > 解决方案 > 将 JS 变量保存到从 PHP 传递的本地存储中

问题描述

单击构建名称时,内部 html 被传递到 JavaScript 变量 loadDump,然后传递给 PHP。

    $.ajax({
  url:"http://custom-assembly.tcad.co.uk/wp-content/themes/custom-assembly/grp-enclosure/load.php",
  method: "post",
  data: { loadDump: JSON.stringify( loadDump )},
  success: function(res){
   var key_map_obj = '<?php echo $key_map_loaded; ?>';
   console.log(key_map_obj);


     var key_map_obj_string = key_map_obj;

     localStorage.setItem("key_map_obj_string", key_map_obj_string);
     console.log(localStorage);
  }
})

一旦发生这种情况,load.php 中的 php 就会执行。loadDump 变量在 sql 查询中用于查找匹配字段。

$loadDump =   wp_unslash( $_POST['loadDump'] );


      $table_name= $wpdb->prefix. 'product_configurator';
        $DBP_results= $wpdb->get_results("SELECT * FROM $table_name WHERE keymap_key = $loadDump");
        $DBP_current_user = get_current_user_id();


     foreach($DBP_results as $DBP_cols){
        $user_id= $DBP_cols->user_id;
        $enclosure_type= $DBP_cols->enclosure_type;
        $keymap_key= json_decode($DBP_cols->keymap_key, true);
         $key_map_loaded=json_decode($DBP_cols->key_map, true);

          } 



          ?>

如何让 $key_map_loaded 传递给 JavaScript 并使用 Ajax 保存在本地存储中。

标签: javascriptphpajax

解决方案


在您的 php 文件中尝试返回结果:

e loadDump variable is used in a sql query to find the matching field.

$loadDump =   wp_unslash( $_POST['loadDump'] );


      $table_name= $wpdb->prefix. 'product_configurator';
        $DBP_results= $wpdb->get_results("SELECT * FROM $table_name WHERE keymap_key = $loadDump");
        $DBP_current_user = get_current_user_id();


     foreach($DBP_results as $DBP_cols){
        $user_id= $DBP_cols->user_id;
        $enclosure_type= $DBP_cols->enclosure_type;
        $keymap_key= json_decode($DBP_cols->keymap_key, true);
        $key_map_loaded=$DBP_cols->key_map;

          } 

        echo $key_map_loaded;

          ?>

然后在 JavaScript 中为 ajax 请求接收它:

$.ajax({
  url:"load.php",
  method: "post",
  data: { loadDump: JSON.stringify( loadDump )},
  success: function (data) {
         var key_map_obj = data;
           console.log(key_map_obj);


           var key_map_obj_string = (key_map_obj);

           localStorage.setItem("key_map_obj_string", key_map_obj_string);
           console.log(localStorage);
     },

})

推荐阅读