【发布时间】:2020-10-29 17:01:18
【问题描述】:
我正在尝试让下面的课程正常工作,但是我继续收到一条错误消息说明
alert!parsererrorSyntaxError: 位置 0/Home/onPremTest{"msg":"onPremTest message"}
中 JSON 中的意外标记
脚本结束标记中的开始符号似乎导致了此消息。有谁知道如何格式化它以便浏览器接受 javascript 代码并执行它?
public class Javascript {
static string scriptTag = "<script type=\"\" language=\"\">{0}</script>";
public static void ConsoleLog(string message) {
string function = "console.log('{0}');";
string log = string.Format(GenerateCodeFromFunction(function), message);
//System.Web.HttpContext.Current.Response.Write("<script>alert('Test message !'); </script>");
System.Web.HttpContext.Current.Response.Write(log);
}
public static void ConsoleError(string message) {
string function = "console.error('{0}');";
string log = string.Format(GenerateCodeFromFunction(function), message);
Page page = HttpContext.Current.Handler as Page;
if (ScriptManager.GetCurrent(page).IsInAsyncPostBack) {
ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "error", "console.error('" + message + "')", true);
} else {
HttpContext.Current.Response.Write(log);
}
}
public static void Alert(string message) {
string function = "alert('{0}');";
string log = string.Format(GenerateCodeFromFunction(function), message);
Page page = HttpContext.Current.Handler as Page;
if (ScriptManager.GetCurrent(page).IsInAsyncPostBack) {
ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "alert", "alert('" + message + "')", true);
} else {
HttpContext.Current.Response.Write(log);
}
}
static string GenerateCodeFromFunction(string function) {
return string.Format(scriptTag, function);
}
}
【问题讨论】:
-
这两个错误并不相同,尽管都抱怨 <.>in JSON.
-
我删除了文本,谢谢。 JSON可以没有尖括号吗?另外,如何从 MVC 写入浏览器控制台?
-
您能否进一步说明您期望什么样的互动?是一次性的
console.log还是您希望能够通过SignalR之类的方式不断推送事件? -
我差点称这是stackoverflow.com/questions/14713782的副本,但后来我看了一下代码,是其中一个答案的副本,也许原作者会知道?
标签: javascript c# html asp.net-mvc