2016-09-21 8 views
2

Symfony 3.1を使用していて、AJAXでセッション属性を設定しようとしました。以前はコントローラで何かをセッションに保存しました。私はどんなAJAXを得ることはありませんSymfony3:AJAXでセッション属性を設定する

$(document).ready(function() { 

    $('.addIdButton').click(function { 

     var id = 1; 

     $.ajax({ 
      type: 'POST', 
      url: 'addId/' + id, 
      async: false, 
     }) 
     .fail(function() { 
      alert('Couldn\'t add flat to wishlist'); 
     }); 

    }); 

}); 

ajax.js

AjaxController.php

namespace AppBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\HttpFoundation\Response; 


class AjaxController extends Controller { 

    /** 
    * @Route("/addId/{id}", name="addId") 
    */ 
    public function hideCookieMessageAction(Request $request, $id) { 

     $session = $request->getSession(); 
     $session->set('id', $id); 

     $response = new Response(); 
     return $response; 

    } 

} 

:今、私はこのようになりますAJAX要求のための新しいコントローラを作成しましたまたはJSエラーメッセージ。しかし、私がSymfony Profilerを調べると、新しいセッション属性はありません。私もクッキーで試してみました。だから、それは間違ったAJAX呼び出しとは関係ないが、コントローラ内のセッション処理が間違っていると思う。

誰かがアイデアを持っていますか?

+0

のように見えます。セッション属性を確認する前にページをリフレッシュしてください。 – Matteo

+0

新しいセッション属性を確認するためにページをリロードしてください。 – malcolm

答えて

1

ブラウザのデバッグツールを確認してください。その後、

私はあなたが、Windowsのクロム、Ctrl+Shift+iを使用していると仮定Chromeのデバッグツールを開き、Network]タブをクリックして、あなたのAJAX要求を行う(buttn $('.addIdButton')をクリック)し、デバッグツールがあれば、レコードをチェックし、新しいレコードを表示しますあなたはリクエストが本当にOKです(ステータスが200の場合はそれ以外の場合は失敗)。

関連する問題