我如何使用Ajax将json数据发送到php文件

时间:2019-06-21 12:14:02

标签: php json ajax

ı在我的文件中使用sweetallert js,此代码获取有关用户的一些数据,但是此代码未将数据发送到控制器。

当ı单击按钮sweetallert功能运行并向用户询问一些问题

视图文件中的Ajax代码

<script>
 function kitap_ekle(){
swal.mixin({
  input: 'text',
  confirmButtonText: 'Sonraki &rarr;',
  showCancelButton: false,
  progressSteps: ['1', '2', '3', '4'],
}).queue([
  {
    title: 'Kitap İsmi',
    text: 'Lütfen Kitap İsmi Giriniz',
    inputPlaceholder: 'Enter here',
   },
  {
    title: 'sayfa Sayısı',
    text: 'Lütfen Sayfa sayısı '
  },
]).then((result) => {
  if (result.value) {
   swal.fire({
 
      title: 'Blok ekleme işlemi tamalandı',
      html:
        'Your answers: <pre><code>' +
          JSON.stringify(result.value) +
        '</code></pre>',
      confirmButtonText: 'Teşekkürler!'
 
    }),
         $.ajax({
          url:'Slemler/blok_ekle',
          type:'post',
          dataType:'json',
          contentType:'application/json',
          data:JSON.stringify(result.value),
        
      }
              )
  }
})
    
}
 </script>

这是控制器文件

   public function blok_ekle(){
    if(json_decode($_POST["myData"])!=""){

      $data=json_decode($_POST["myData"]);
      $this->db->insert('bloklar',$data);
    } else {
        echo "no data";

    }

}

1 个答案:

答案 0 :(得分:0)

仅为$_POSTapplication/x-www-form-urlencoded填充multipart/form-data超级全局变量。因此对于application/json,不会填充它。

要读取json,可以使用file_get_contents

public function blok_ekle(){
    if(json_decode(file_get_contents('php://input'), true)!=""){

      $data=json_decode($_POST["myData"]);
      $this->db->insert('bloklar',$data);
    } else {
        echo "no data";

    }

}