2016-07-04 3 views
0

В моем терминале сервера я увидел, что начал GET «/ another», но браузер не перенаправляет URL-адрес. Что не так в этом коде?ajax call перенаправить на страницу

Маршруты:

match '/example_url', to: 'controllerx#sup', via: 'get' 

стороне клиента:

$.ajax({ 
    type: "GET",// GET in place of POST 
    contentType: "application/json; charset=utf-8", 
    url: "/example_url", 
    data : {example: 'hey'}, 
    success: function(result) { 
    //TODO 
    }, 
    error: errorFunction 
}); 

Контроллер:

def sup 
    respond_to do |format| 
    format.js { redirect_to another_path } 
    end 
end 

ответ

1
не

Вы способны перенаправлять от действия контроллера, потому что действие называется дистанционно. Попробуйте это:

Клиент:

$.ajax({ 
    type: "GET",// GET in place of POST 
    dataType: "json", 
    url: "/example_url", 
    headers: { 
     'Content-Type': 'application/json' 
    }, 
    data : {example: 'hey'}, 
    success: function(result) { 
    window.location = result.location; 
    }, 
    error: errorFunction 
}); 

Контроллер:

def sup 
    respond_to do |format| 
    format.json { render json: { location: another_path } } 
    end 
end 
+0

не работают "ActionController :: UnknownFormat - ActionController :: UnknownFormat:" – dijiri

+0

@dijiri проверить обновленный ответ. –

+0

та же ошибка:/@ Зелёный – dijiri

Смежные вопросы