PHPスクリプトで、AJAX経由で送信しているJSONのデコードに問題があります。
jQuery:
$.ajax({
url : 'admin/modifyPermissions',
type : 'post',
data : {
'JSON' : JSON
},
success : function(msg){
if(msg == '1') {
alert('Permissions saved successfully');
} else {
alert(msg);
}
}
});
PHPスクリプト:
public function modifyPermissions(){
if(isset($_POST['JSON']) && !empty($_POST['JSON'])) {
$json = json_decode($_POST['JSON'],true);
if($json !== NULL && $json !== FALSE) {
} elseif($json === NULL){
die('The string passed is not a valid JSON object and cannot be decoded.' . "\n" . $_POST['JSON']);
} else {
die('There was an error with the JSON string');
}
} else {
die('No JSON string was sent!');
}
}
渡されるJSONは、私には整形式に見えます。
{"martin":{3,5},"user2":{3,4,5}}
そしてPHPはnullを返しています。サーバーにPHP5.2.7がインストールされているため、json_last_error()を使用できません。