PHP получает json

Я использую нокаут, и это мой код ajax:

save: function() { $.ajax({ url:"http://localhost/loyalty/welcome/json/", type: "post", data: ko.toJSON(this), contentType: "application/json", success: function (result) { alert(result) } }); } 

Используя firebug, я вижу, что сообщение json отправлено правильно, проблема в том, как получить его на PHP, каково имя того, что было отправлено?

Я использую CodeIgniter

Заранее благодарю за любую помощь.

    Он будет в переменной $_POST['key'] где 'key' – это ключевые значения в объекте JSON.

      **This is what exactly the way to post as json way** //index.php $(document).ready(function(){ obj = {} obj.name = "sam" obj.value = "12345" $.ajax({ url:"json.php", type: "post", data :obj, dataType:"json", success: function (result) { alert(result.name); } }); }); //json.php ,, the posted data is received as array ,, so we need to convert it as //json_encode to make as JSON again <?php $jsonReceiveData = json_encode($_POST); echo $jsonReceiveData; ?> 
      save: function() { $.ajax({ url:"http://localhost/loyalty/welcome/json/", type: "post", data: $(this).serialize()/*Where this is an instance of the form change with appropriate selector such as #loginForm*/, contentType: "application/json", success: function (result) { alert(result) } }); } 

    Используйте $ _POST в php-файле, чтобы получить данные, которые, как я понимаю, вы используете jquery, а $ – функция jquery. Теперь эти данные доступны в post superglobal. NB: вам не нужно использовать json для отправки данных через функцию ajax. Данные передаются в формате сериализованного массива, например: field1 = value1 & field2 = value2 и т. Д. …

    Если вы, однако, должны использовать json, который, откровенно говоря, не нужен, используйте данные: «json =» + ko.toJSON (form)

    и на стороне сервера = json_decode ($ _ POST ['json']);

    Решение состоит в том, чтобы принять

     contentType: "application/json", 

    от вызова ajax.

    знак равно