[RESOLU] [SF3] isXmlHttpRequest retourne toujours false

Eléphanteau du PHP | 32 Messages

07 juin 2017, 13:06

Bonjour,

Tout est dans le titre. Voici mon code

HTML
<form id="ici" action="{{ path('core_request_zone') }}">
            <button onclick="set()">exec</button>
</form>
JS
<script>
$(function(){
    function set(){
        var form = $("#ici");
        $.ajax({
            method: 'POST',
            url: form.attr("action"),
            async: false,
            cache: false,
            dataType:"json",
            success:function(result) {
                alert(result);
            }
        });
    }
});
</script>
Controller
public function setZoneAction( Request $request )
    {
        $isAjax = $request->isXmlHttpRequest();

        var_dump($isAjax);

        $response = new Response();

        if( $isAjax ){

            $avTab[1] = 'idprojet';

            $return = json_encode(array('projet' => $avTab));
            $response->headers->set('Content-Type', 'application/json');
            $response->setContent($return);
        }else{

            $response->setContent('NOK');
        }

        return $response;
    }

J'ai testé en methode GET en passant par .done pour l'ajax j'ai toujours le même résultat .... Si quelqu'un à une solution

Eléphanteau du PHP | 32 Messages

07 juin 2017, 14:47

La réponse est toute bête

Il faut mettre type="button" sinon le bouton est en submit ....