所以我试图将一个jsont字符串从我的MacOS应用程序发布到我的服务器,而不是服务器在电子邮件中将该字符串发送给我。 php代码如下所示:
<?php
$postVar = $_POST['data'];
if (!empty($postVar)) {
$to = '<myemailaddress>';
$subject = 'data recieved';
$message = $postVar;
$headers = 'From: <someemailaddresshere>' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
?>
这会收到数据并返回200响应,但发送到服务器的字符串与电子邮件中发送的字符串不匹配。
字符串到服务器的示例:
{
"µTorrent" : {
"isActive" : false
},
"Bear" : {
"isActive" : false
},
"Terminal" : {
"isActive" : false
}
}
电子邮件中收到的字符串示例:
{
\"µTorrent\" : {
\"isActive\" : false
},
\"Bear\" : {
\"isActive\" : false
},
\"Terminal\" : {
\"isActive\" : false
}
}
那些反斜杠不应该存在,可能导致这个问题?
答案 0 :(得分:0)
出于安全原因添加了反斜杠。 如果您只想删除反斜杠,可以使用stripslashes。
$message = stripslashes($postVar);
但我建议创建一个数组数组并返回数组的json_encode