PHP Gelen Talebi JSON tipi olup olmadığını kontrol

6 Cevap php

Gelen bir istek AJAX JSON türde olup olmadığını kontrol etmek için yine de var mı?

Denedim

if(($_SERVER['REQUEST_METHOD']=='JSON'))
{
}

Ama işe yaramadı.

Herhangi bir düşünce?

6 Cevap

Nereye bilemeyiz ki, tam olarak, gelen istekleri kabul edilir?

JSON veya SimpleXML gibi verileri almak için çalışır script başında bir işlevi olabilir. Bir hata yakalar, bunu diğeri biliyorum ...

İkinci düşünce, o JSON olmak için sınayın var, SimpleXML nedenlerle ton için bir hata atmak olacaktır.

 $json_request = (json_decode($request) != NULL) ? true : false;

Sen istemci tarafında bir başlığı ayarlamak gerekir. jQuery ve diğer kütüphaneleri x-requested-with başlığını ayarlayın:

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
   echo "Ajax request";
}

Sen jQuery "XMLHttpRequest" bunu ayarlamak gibi X-Requested-With başlığı, bazı kütüphaneler, kontrol edebilirsiniz.

$isAjaxRequest = $_SERVER['X_REQUESTED_WITH'] == 'XMLHttpRequest';

O text / xml var eğer konuşurken json, ne tahmin javascript metin / eğer, kabul param bir kontrol yapabilirsiniz: P

$ _SERVER ['HTTP_ACCEPT']

Json_decode dene ()

her zaman olduğunu belirterek ekstra bir başlığı ayarlamak, ya da JSON istekleri belirtmek için rasgele bir değişken kullanabilirsiniz.