Wordpress - 将Json编码的数组发布到PHP不会返回任何/ NULL

时间:2016-08-26 09:38:08

标签: javascript php jquery wordpress

我的插件网站上有几个输入。我收集它们的值并将它们推入一个数组中。然后使用jQuery.post方法将其发布到我的PHP脚本。

使用Javascript:

var json = JSON.stringify(output); // output is an array with multiple strings
var data = {
    "action" : "add",
    "output" : json,
}
jQuery.post(ajaxurl, data, function(response){
    console.log(response); // logs the response from PHP
})

PHP:

$array = json_decode($_POST['output']);
update_option("option", $array);
var_dump($array); // returns NULL in console
echo $array; // returns nothing in console
wp_die();

我希望PHP将数组返回给JS并将其保存为选项。

这是我的第一个问题。请随时向我提供有关如何改进我的问题和代码的提示。

解决方案

似乎有问题' \'在已发布的JSON字符串中。

$array = json_decode(stripslashes($_POST['output'])) 做了这份工作

2 个答案:

答案 0 :(得分:0)

如果您希望脚本返回相同的对象:

// The second param "true" makes sure we get an associative array
// instead of an object.
$array = json_decode($_POST['output'], true);
update_option("option", $array);

// Set the correct content header (good practice)
header('Content-Type: application/json');

// Echo the string representation of the json-object
// Let's use the same as we got in the $_POST['output']
echo $_POST['output'];

wp_die();

答案 1 :(得分:0)

找到解决方案。它写在“解决方案”下的问题中