2017-10-11 4 views
0

ajax呼び出しを使用して別のページをリダイレクトしたい。私は、コードの下に使用されるが、それは多くの方法がありますajax呼び出しでページをリダイレクトする

$.ajax({ 
     type:"GET", 
     url: url, 
     dataType:"json", 
     data: {PrdId: parseInt(prdId)}, 
     success:function(result){ 
      setItemDetails(result) 
     } 
    });  
+1

デフォルトでは、ajaxリクエストはリダイレクトヘッダーに従いません。結局のところ、ajaxの全体のポイントは、ポストバック、リダイレクト、ページリフレッシュなどを避けています。このようなリダイレクトをしたいのであれば、通常のポストバックを使用する必要があります。リダイレクトするとajaxのメリットが失われるため、実際にはこれにajaxを使用する理由はありません。 – ADyson

答えて

0

def show_item_details 
    @itm_id=params[:Id] 
    redirect_to prd_item_path(@itm_id) 
end 

Ajaxコードをリダイレクトしません。

1つのオプションは、コントローラーからフロントエンドに新しい場所を渡し、javascriptでリダイレクトすることです。

その他のオプションは、リダイレクトすることなく、新しいページをレンダリングし、htmlを表示することです。

success:function(result){ 
    $('body').html(result); 
} 

これはjavascriptでは簡単ですが、すべての作業はコントローラで行う必要があります。

希望すると便利です。