簡體   English   中英

yii2 ajax 請求重定向不起作用

[英]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) {
  }
});

http 請求圖像

請求已執行,但我沒有重定向到 url。 當我單擊按鈕時,我停留在同一頁面上。

您發布的代碼不執行重定向。

它所做的只是向url: ('configurator/compare') 發出 ajax POST 請求並在data:傳遞參數data:

要執行重定向,您可以success:回調,例如

success: function (data) {
    window.location.href = 'http://google.com';
}

您可以對上面的 URL 進行硬編碼,也可以基於您發布到的腳本的輸出,這可以通過訪問success回調中的datasuccess

如果您不想將任何數據返回給您的“成功”功能,那么在您的控制器“配置器”中,在方法“比較”中,在處理您的數據后,您可以重定向到您想要的“視圖”:

    $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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM