【发布时间】:2014-08-20 09:59:43
【问题描述】:
我有这个 JS 代码,它将接收来自 C# 代码的字符串值
function getMsg() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "andSert.asmx/GetMessage", true); //async
var temp = the string I receive from the GET above
return temp;
}
这里是 C# 代码
[WebMethod]
public string GetMessage() {
XmlTextReader reader = new XmlTextReader (Global.sAppPath + "/alt/importantMsg.xml");
string message = null;
while (reader.Read()) {
if (reader.IsStartElement ()) {
switch (reader.Name.ToString ()) {
case "Message":
message = reader.ReadString();
break;
}
}
}
return message;
}
我的问题是我不知道如何在 JS 代码中实例化通过 GET 请求获得的消息。我已经测试过一切正常,并返回一个字符串。但是我需要实例化那个字符串,以便在另一个 JS 文件中使用它。
我该怎么做?
【问题讨论】:
-
如果您使用的是异步请求,那么您将无法返回该值,因为在执行 return 语句之前您将没有字符串
-
好的,我把它改成 false,所以它是同步的
-
你会用jQuery吗?
-
@OndrejSvejdar,您将如何阻止该功能的其余部分?
-
是的,我想我可以,如果我找不到使用纯 JS 的解决方案 :) 在这种情况下,我知道如何解决它。但是这个系统完全使用了这种方法,所以开始抛出 JQuery 会使代码甚至偏离现在的样子。我还需要获取图书馆等
标签: c# javascript asp.net web-services webmethod