2
我正在使用Symfony 3.1,並嘗試使用AJAX設置會話屬性。我之前在控制器中保存了一些東西。現在,我創建了AJAX請求一個新的控制器,看起來像這樣:Symfony3:使用AJAX設置會話屬性
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
$(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錯誤消息。但是如果我看看Symfony Profiler,就沒有新的會話屬性。我也嘗試了一個cookie,它工作。所以我認爲它與一個錯誤的AJAX調用沒有任何關係,但是在控制器中有一個錯誤的會話處理。
有人有想法嗎?
似乎一切正常,請在檢查會話屬性前嘗試刷新頁面 – Matteo
重新加載頁面以查看新的會話屬性。 – malcolm