(ASP.NET JAVASCRIPT和C#)隐藏JAVASCRIPT调用C#方法的结果
我试图隐藏一个C#方法的结果,该方法是从我的aspx文件中的javascript代码调用的。当我查看页面源代码时,我希望返回值,即“HI_MOM!”,不可见 我的ASPX:(ASP.NET JAVASCRIPT和C#)隐藏JAVASCRIPT调用C#方法的结果,c#,javascript,asp.net,return,hidden,C#,Javascript,Asp.net,Return,Hidden,我试图隐藏一个C#方法的结果,该方法是从我的aspx文件中的javascript代码调用的。当我查看页面源代码时,我希望返回值,即“HI_MOM!”,不可见 我的ASPX: <html> <head> <title>Hide Me</title> </head> <body><div id="center"><div id="fig"> <script type="t
<html>
<head>
<title>Hide Me</title>
</head>
<body><div id="center"><div id="fig">
<script type="text/javascript">
var url = <%="'"+magic()+"'"%>;
document.write(url);
</script>
</div></div></body>
</html>
运行后的源代码:
<html>
<head>
<title>Hide Me</title>
</head>
<body><div id="center"><div id="fig">
<script type="text/javascript">
var url = HI_MOM!;
document.write(url.toString);
</script>
</div></div></body>
</html>
在TestTest.aspx.cs中:
[WebMethod]
public static string magic()
{
return "HI_MOM!";
}
var url=;
用户可以查看您希望作为javascript运行的所有内容。你可以让它看起来不那么明显它在做什么,甚至可以对它进行加密,但它仍然在浏览器中
真正隐藏这一点的唯一方法是在服务器端完成。为此,您必须使用AJAX
使用jQuery是一种选择,通过它,您可以将
magic
变成页面方法。您不能从您的aspx中删除该行吗?如果它不可见,那么您将如何使用它?这样做的目的是什么?这会给您一个JavaScript错误,因为没有定义HI\u MOM
(它不是一个已定义的变量,甚至没有string
)。您想返回“嗨,妈妈!”代码>从您的CS方法。但是除此之外,如果你不想让用户看到它,你就不应该把它作为javascript交付。@Inuyasha如果我这样做了,那么我就不会收到我需要的数据……啊,我忘了这么做。谢谢你的语法提示。这绝对是我想要的。我对ASP.NET/javascript非常陌生,对AJAX或jQuery一无所知。你能给我一个完整的小例子吗,因为我很难理解如何实现这样的东西。答案有完整的代码-C#,HTML和JavaScript。你真的不需要更多了。如果您不理解其中的某些部分,请随时提问。:)
<script type="text/javascript" src="./jquery.js"></script>
jQuery.ajax({
type: 'POST',
url: 'TestTest.aspx/magic',
cache: false,
data: '{}',
contentType: 'application/json; charset=utf-8',
dataType: 'text',
success: function (msg) {
var result = eval('(' + msg + ')');
result = eval('('+result["d"]+')');
//do something with your string =]
}
});
[WebMethod]
public static string magic()
{
return "HI_MOM!";
}
var url = <%= "'" + magic() + "'"%>;