Javascript 打开新页面传递参数而不在URL上显示它们
我正在制作一个MVC#Web应用程序,我开始怀疑你是否可以打开其他需要参数才能运行的页面,而不通过URL发送它们,这是不安全的,可能会导致一些用户弄乱数据库的另一个注册表 但我的问题是,我从来没有做过这样的事情,我也找不到任何做过这样事情的代码示例。该项目使用C#和JS运行,我尝试过的主要内容包括: -使用Ajax执行此操作: 首先,我有一个按钮,用于调用函数:Javascript 打开新页面传递参数而不在URL上显示它们,javascript,c#,asp.net-mvc,routes,Javascript,C#,Asp.net Mvc,Routes,我正在制作一个MVC#Web应用程序,我开始怀疑你是否可以打开其他需要参数才能运行的页面,而不通过URL发送它们,这是不安全的,可能会导致一些用户弄乱数据库的另一个注册表 但我的问题是,我从来没有做过这样的事情,我也找不到任何做过这样事情的代码示例。该项目使用C#和JS运行,我尝试过的主要内容包括: -使用Ajax执行此操作: 首先,我有一个按钮,用于调用函数: <a href="@Url.Action("actionEditStuff", "ControllerName")">Li
<a href="@Url.Action("actionEditStuff", "ControllerName")">Link Text</a>|
function openHorario(id, id_schedule, id_tool) {
alert(oid, id_schedule, id_tool);
$.ajax({
type: 'POST',
url: '/Schedules/actionEditStuff',
data: {
id: id,
id_schedule: id_schedule,
id_tool: id_tool
},
async: 'false',
success: function (data) {
//???
}
});
}
|
函数openHorario(id、id\u计划、id\u工具){
警报(oid、id\U计划、id\U工具);
$.ajax({
键入:“POST”,
url:“/Schedules/actionEditStuff”,
数据:{
id:id,
id_计划:id_计划,
id_工具:id_工具
},
异步:“false”,
成功:功能(数据){
//???
}
});
}
我知道有一种方法可以让Ajax成功回归到新的页面,但是。。。这也要求您通过URL发送参数
显然,这不起作用,因为控制器中的操作是返回一个视图,而不是一个页面。所以我意识到我的想法不太明智,于是转向了其他地方:链接,但这些链接最终总是要通过URL发送可见的参数
是否有任何方法可以以适当、干净的方式完成这项工作
谢谢大家! @Layan-为了说明我上面的评论,-您可以按照以下思路实现一些东西:
- 客户端通过ajax进行调用
... var data = { id: id, id_schedule: id_schedule, id_tool: id_tool }; $.ajax({ url: '/Schedules/actionEditStuff', type: "POST", data: data, contentType: 'application/json; charset=utf-8', success: function (view) { //load returned data into div? or popup? } , error: function (xhr, status, error) { ... } }); ...
- 还有你的控制器动作
public ActionResult actionEditStuff(....parameters...) { ... ...do your magic ... return PartialView("~/Views/_PartialViewThatShowsSomething.cshtml", ...pass model...); }