从javascript编码json并使用php解码

从javascript编码json并使用php解码,php,javascript,json,Php,Javascript,Json,我必须使用javascript将电子邮件地址数组编码为json字符串,并使用ajax发送到abc.php。在abc.php中,我必须对其进行解码,并向该数组中的所有地址发送电子邮件 目前,我正在使用 var json_string = JSON.stringify(myarray); 在abc.php中,我使用 $emails = json_decode($_POST['json_string']); // json_string was passed as POST variable usi

我必须使用javascript将电子邮件地址数组编码为json字符串,并使用ajax发送到abc.php。在abc.php中,我必须对其进行解码,并向该数组中的所有地址发送电子邮件

目前,我正在使用

var json_string = JSON.stringify(myarray);
在abc.php中,我使用

$emails = json_decode($_POST['json_string']);
// json_string was passed as POST variable using ajax
但它在打印时为空


如何解码并访问php文件中的单个电子邮件如果您可以访问Web服务器的php.ini,最好的办法是禁用magic_引号,因为它们已被弃用:

如果您没有服务器访问权限,请使用带有以下选项的.htaccess文件

php_flag magic_quotes_gpc Off
如果您不想使用它,剩下的最后一件事就是使用unescape函数,例如

function ref_stripslashes(&$value,$key) {
    $value = stripslashes($value);
}

if((function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) || (ini_get('magic_quotes_sybase') && (strtolower(ini_get('magic_quotes_sybase'))!="off")) ) {
    array_walk_recursive($_GET,'ref_stripslashes');
    array_walk_recursive($_POST,'ref_stripslashes');
    array_walk_recursive($_COOKIE,'ref_stripslashes');
}
这是从


json\u解码($\u POST['json\u string'])
应该可以工作。

var\u dump($\u POST['json\u string'])给你什么,或者
var\u dump($\u POST)
关于这件事,print\u r gives[\”abc@gmail.com\",\"def@ptas.com.np\“]和var_dump(json_解码($_POST['json_string']))查看实际的ajax调用可能会有所帮助。它可能是数据类型的东西。是的,可能是神奇的引号。尝试在解码前取消跳过字符串。
function ref_stripslashes(&$value,$key) {
    $value = stripslashes($value);
}

if((function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) || (ini_get('magic_quotes_sybase') && (strtolower(ini_get('magic_quotes_sybase'))!="off")) ) {
    array_walk_recursive($_GET,'ref_stripslashes');
    array_walk_recursive($_POST,'ref_stripslashes');
    array_walk_recursive($_COOKIE,'ref_stripslashes');
}