PDA

View Full Version : وقتی که 'enableCsrfValidation' => true و میخوای از ajaxLinkو ajaxButton و...استفاده کنی..



kazemimorteza
شنبه 24 آبان 1393, 17:38 عصر
وقتی که در تنظیمات اپلیکیشن مان csrf را روشن میذاریم



'request' => array(
'enableCsrfValidation' => true,
'class' => 'application.components.HttpRequest',
'enableCookieValidation' => true
),


لازم است که مقدار زیر را



YII_CSRF_TOKEN' => Yii::app()->request->csrfToken

را در ajaxLink خود قرار دهیم.



echo CHtml::ajaxLink(
'Test request', // the link body (it will NOT be HTML-encoded.)
array('site/reqTest01Loading'), // the URL for the AJAX request. If empty, it is assumed to be the current URL.
array(
'type' => 'POST',
'dataType' => 'text',
'beforeSend' => 'function() {
alert("beforeSend");
}',
'success' => "function(data) {
alert(data);
}",
'data' => array( 'YII_CSRF_TOKEN' => Yii::app()->request->csrfToken,'val1' => '1', 'val2' => '2')
));



امیدوارم بدردتون بوخوره.
منبع (http://stackoverflow.com/questions/18597894/yii-ajax-request-csrf-can-not-be-verified)
من که کلی اذیت شدم (http://barnamenevis.org/showthread.php?475699-%D8%AF%DB%8C%DA%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%B3%D8%AA-CHtml-ajaxLink-%D8%AE%D8%B3%D8%AA%D9%87-%D8%B4%D8%AF%D9%85-!-%D8%AE%D9%88%D8%A7%D9%87%D8%B4%D8%A7-%DA%A9%D9%85%DA%A9%D9%85-%DA%A9%D9%86%DB%8C%D8%AF)