亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將JS數組轉換為PHP時顯示“ \”

將JS數組轉換為PHP時顯示“ \”

PHP
冉冉說 2021-04-01 14:15:12
我正在將數組發布到我的wordpress數據庫中。該數組是用Javascript生成的,我正在使用JSON將其傳遞給php。問題是當我查看user_meta表行時,顯示以下內容:Meta_Key \"test\"Meta_Value [\"1\",\"2\",\"3\",\"4\",\"2\",\"3\",\"4\",\"5\"]這就是它在數據庫中的顯示方式。這是其余的代碼。    $.ajax({    url:"readJsonSave.php",    method: "post",    data: { array: JSON.stringify( array ), buildName:     JSON.stringify(buildName) },    success: function(res){    console.log(res);  }})});ReadJsonSave.phprequire_once("../../../../wp-load.php");$buildName = $_POST['buildName'];  $myBuild = $_POST['array'];$myBuild2 = json_decode('array');echo $myBuild2;print_r($myBuild);$wpdb->insert('wp_usermeta', array(                               'meta_key' => $buildName,                               'meta_value' => $myBuild2                       ), array( ) );
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

您的代碼有幾個問題。該wp_usermeta表需要一個user_id用于關聯的meta,看起來好像不是您所提供的。


另外,$wpdb->insert您應該使用而不是使用update_user_meta( $user_id, $meta_key, $meta_value )。


編輯:您的代碼中還有另一個問題。$myBuild2 = json_decode('array');應該是$myBuild2 = json_decode( $myBuild );。您當前不解碼post var,這就是為什么在數據庫中獲取未序列化的字符串的原因。


這應該工作。readJsonSave.php:


<?php

require_once("../../../../wp-load.php");


$myBuild = wp_unslash( $_POST['array'] );

$myBuild2 = json_decode( $myBuild );


update_user_meta( $user_id, 'test', $myBuild2 );    // Update $user_id


查看完整回答
反對 回復 2021-04-23
?
米脂

TA貢獻1836條經驗 獲得超3個贊

array: JSON.stringify(array)=>可能是因為您的數組已被轉換為字符串,而您正嘗試再次將其轉換。檢查您傳遞的數組的值。嘗試 :


$.ajax({

    url:"readJsonSave.php",

    method: "post",

    data: { array: array , buildName: buildName },

    success: function(res){

    console.log(res);

  }

})


查看完整回答
反對 回復 2021-04-23
  • 2 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號