我可以执行这样的操作吗?
情况 我想检查一下网址。如果 URL 等于 http://sample.com ,做这个,否则做那个。
我做了什么:
在Web.config中 -
<add key="ServerURLCloud" value="sample.com" />
在C#中 -
public static string GetURL()
{
string[] url = ConfigurationManager.AppSettings["ServerURLCloud"];
return url;
}
在 Javascript 中 -
if(varURL.indexOf('@ClassName.GetURL()') > 0){
urlToCall = 'sub.sample.com';
}else{
urlToCall = 'sub.not-sample.com';
}
$ajax(
url = urlToCall,
data = .........
....
)
我测试了它,它工作非常好。但是,我想知道,如果:
- 互联网连接速度慢
编辑:
我的问题
这种做法(通过 JavaScript 获取服务器端信息)好吗?还是不好?
最佳答案
我相信这个代码示例可以稍微修改一下,以使其更容易维护。
您可以在布局中创建一个变量,其中可能包含 ConfigurationManager.AppSettings["ServerURLCloud"]
var siteSettings = {};
siteSettings.serverUrlCloud = '@ConfigurationManager.AppSettings["ServerURLCloud"]';
siteSettings.subSampleUrl = 'url';
siteSettings.subNotSampleUrl = '';
此站点设置还可以保存任何有用的内容(例如基本网址等)...
此外,尽量不要在代码中使用魔术字符串...相反,更喜欢创建保存这些字符串的变量/常量等。
这些更改不会影响应用程序的速度,但会使其更易于管理。
此外,ajax 请求的响应速度完全取决于该请求中执行的代码、响应的长度和互联网连接速度...如果代码很复杂并且执行很多操作,那么它会自然需要更长的时间。如果响应较大,则下载时间会较长。如果互联网连接速度较慢,发送请求和下载响应将需要更长的时间。
希望这有帮助
关于javascript - 在 javascript 中,从 C# 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55273408/