[英]yii2 ajax request redirect not working
單擊按鈕后,我嘗試重定向用戶。 但是重定向不起作用。 這是我用於處理按鈕單擊的 js 代碼。
$('#MyButton').click(function() {
$.ajax({
url: '<?php echo Url::to(['configurator/compare']) ?>',
type: 'POST',
data: {
Ref : Ref,
searchname: $("#searchname").val() ,
searchby:$("#searchby").val() ,
_csrf : '<?=Yii::$app->request->getCsrfToken()?>'
},
success: function (data) {
}
});
請求已執行,但我沒有重定向到 url。 當我單擊按鈕時,我停留在同一頁面上。
您發布的代碼不執行重定向。
它所做的只是向url:
('configurator/compare') 發出 ajax POST 請求並在data:
傳遞參數data:
要執行重定向,您可以success:
回調,例如
success: function (data) {
window.location.href = 'http://google.com';
}
您可以對上面的 URL 進行硬編碼,也可以基於您發布到的腳本的輸出,這可以通過訪問success
回調中的data
來success
。
如果您不想將任何數據返回給您的“成功”功能,那么在您的控制器“配置器”中,在方法“比較”中,在處理您的數據后,您可以重定向到您想要的“視圖”:
$data = Yii::$app->request->post();
// do what you want with data
return $this->redirect(['controller/action']);
Try Below way.
<script>
$(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type:"POST",
data:{id:id},
url : '<?php echo Yii::$app->getUrlManager()->createUrl("/property/favourite"); ?>',
success: function(response){
window.location.href = '<?php echo Yii::$app->getUrlManager()->createUrl("/site/chat"); ?>';
}
});
});
</script>
您可以在控制器中設置路徑並將 url 發送回頁面。
public function actionAjaxMethod() {
//my logic
//if everything is successfulget the url path you want to redirect to.
$url = Yii::$app->getUrlManager()->createUrl("/controllerName/methodName");
return \yii\helpers\Json::encode([
'status' => true,
'url' => $url,
]);
}
在您的視圖頁面中,您所做的就是
success: function (data) {
if (data.status) {
//redirect the page to url.
window.location.href = data.url;
}
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.