为什么这段代码会崩溃我的浏览器?

时间:2011-11-23 09:22:14

标签: javascript

我正在形成一些像这样的

的java脚本代码
 var url = '<%= Server.MapPath(".") %>' + '/Variablesvariable.txt';
 alert(url);
 xmlhttp.open("GET", url , true); //  url +'/Variables/variable.txt'
 xmlhttp.send();
//alert('<%= Server.MapPath(".") %> \Variablesvariable.txt')

这有什么不对吗?

URL没有传递给正确的方法,在open方法中它会崩溃,所以我是在形成错误的URL,还是在java脚本中存在一些其他方式来连接它?

我在添加监视中看到了网址

正在形成这样的

" url\"D:VisualStudio2010ProjectsWebSitesTinyEditor/Variablesvariable.txt\""

怎么了?

1 个答案:

答案 0 :(得分:1)

<%= Server.MapPath(".") %>

这会生成类似c:somefolder的物理路径。您需要传递的是网址上提供的网址,例如 /myfolder/Variablesvariable.txt

所以补课:

var url = '/myfolder/variables.txt';
alert(url);

将文件variables.txt放入Web应用程序的子文件夹myfolder中。

如果你想让它更具动态性,你可以在你的代码隐藏中这样做:

protected void Page_Load(object sender, EventArgs e)
{
    VariableUrl = ResolveUrl("~/Scripts/variables.txt");
}

public String VariableUrl { get; set; }

并在标记中:

var url = '<%= VariableUrl %>';
alert(url);

因此,您将参数放入ResolveUrl方法完全取决于您。