2017-07-03 72 views
0

无论何时从文本框更新值,我都想调用控制器操作。Javascript重定向连接重定向的url linstead

注意,该脚本位于将从调度/索引控制器动作

我试图做这样的返回了同样的观点里面:

<script> 
    $('#deliveryDate').change(function() { 
     var date = $('#deliveryDate').val(); 
     var sDate = date.split('/'); 
     location.href = 'dispatch/' + sDate[0] + sDate[1] + sDate[2]; 
    }); 
</script> 

而且它完美的第一时间的价值改变(即,页面重定向到/dispatch/12122016)。

但是,当我再次更改该值时,它重定向到/dispatch/dispatch/13122016,所以该值只是保持concatanating,这当然会产生一个错误。


我想换款重定向线location.href = '@Url.Action("Index", "Dispatch")/' + sDate[0] + sDate[1] + sDate[2];,但现在它只是串接到URL上的新日期,而不是重定向的我怎么需要它......(即,它定位到/dispatch/12122016/13122016

有没有这样做,而不包括字面的url路径?

如何“清除”当前的URL重定向操作,我需要(这应该只是dispatch/12122016?之前

+0

相对于任何路径的“dispatch”路由还是始终是主机的绝对路径? – ryeballar

+0

@ryeballar它只是从主机。例如,当调试完整的URL为'localhost:60775/dispatch/13122016' – Bassie

回答

2

简单地追加在URL正斜杠,这应该总是决定了该URL改变总是注定是绝对

作为奖励。我也改变了你的约会串联后210加入连接。

$('#deliveryDate').change(function() { 
    var date = $('#deliveryDate').val(); 
    location.href = '/dispatch/' + date.split('/').join(''); 
}); 
+0

非常感谢! – Bassie

0

通过追加正斜杠。因为你的串联调度串上的每一个重定向

<script> 
    $('#deliveryDate').change(function() { 
     var date = $('#deliveryDate').val(); 
     var sDate = date.split('/'); 
     Var URL = '/dispatch/' + sDate[0] + sDate[1] + sDate[2]; 
     Window.location.href = URL 
    }); 
</script> 
试试这个
+0

这对我的第一次尝试有什么不同? (除了语法错误) – Bassie

+0

糟糕对不起输入错误。我编辑了答案 – karthik006