![](/img/trans.png)
[英]How I can write a function that will display the path in the Browser Console
[英]How can I write to the browser console in MVC?
我正在嘗試讓下面的課程正常工作,但是我繼續收到一條錯誤消息,指出
警報!解析器錯誤語法錯誤:意外的令牌< JSON 位置 0/Home/onPremTest{"msg":"onPremTest message"}
腳本結束標記中的開始符號似乎導致了此消息。 有誰知道如何格式化它以便瀏覽器接受 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);
}
}
該錯誤意味着您的一個開始標簽有問題。 這也可能是別的東西,但這是我迄今為止所經歷的。
// this create that error.
<div something </div>
// so add ">" after div
<div> something </div>
該function
在GenerateCodeFromFunction
應該要么使用'
或"
字符串( "
者優先)。 所以我稍微改變了你的所有方法:
public class Javascript
{
static string scriptTag = "<script type='javascript' >{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(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.Replace("\"","'"));
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.