2015-04-03 57 views
0

我的路線 -window.location的在Ajax調用的研製成功是不工作

routes.MapRoute(
    name: "SupplyChainPressureSocialResults", 
    url: "supply-chain-pressure/results/{id}", 
    defaults: new { controller = "SupplyChainPressure", action = "Results" } 
    ); 

控制方法 -

//GET:/supply-chain-pressure/ScptResult/{id} 
public ActionResult ScptResult(int resultid) 
{ 
    // do something 
    return View(); 
} 

AJAX卡爾 -

$.ajax({ 
        type: "POST", 
        url: configMap.sitePath + "api/Quiz/" + quizResponse.quizId, 
        data: JSON.stringify(quizResponse), 
        success: function (data) { 
         window.location.href = configMap.sitePath + 'supply-chain-pressure/ScptResult' + data.data.quizInstanceID; 
        }, 

但由於某些原因重定向沒有發生。有人可以請幫助

回答

0

問題是缺少/

它應該是 -

window.location.href = configMap.sitePath + 'supply-chain-pressure/ScptResult/' + data.data.quizInstanceID; 

我曾在最後錯過了 '/'。

+0

你所有的網址都是靜態的,所以它們可能會在生產中崩潰 – 2015-09-17 05:54:11

0

您重定向到的地方與您的路線不符。你的路線尋找: supply-chain-pressure/results/{id}

但要重定向到:

supply-chain-pressure/ScptResult/{id}

您的路線將永遠不會匹配,因爲你是在ScptResult路過的results

,而不是你想要做什麼將您的路線定義更改爲:

routes.MapRoute(
name: "SupplyChainPressureSocialResults", 
url: "supply-chain-pressure/{action}/{id}", 
defaults: new { controller = "SupplyChainPressure", action = "results" } 
); 
+0

感謝您的注意。我做同樣的配置。但它仍然沒有工作路線.MapRoute( 名稱:「SupplyChainPressureResult」, url:「supply-chain-pressure/ScptResult/{resultid}」, 默認值:new {controller =「SupplyChainPressure」,action =「ScptResult」 } ); – 2015-04-06 17:16:31

+0

您需要將該路線放置在「默認」路線上方。這有幫助嗎? – Frayt 2015-04-07 09:20:39