C# 为什么Chrome在我的HTML顶部打上一个主体,然后给我一个看似虚假的错误消息?
当我从通过Ajax调用的REST方法返回动态生成的html时,我正在替换页面上的html,如下所示:C# 为什么Chrome在我的HTML顶部打上一个主体,然后给我一个看似虚假的错误消息?,c#,jquery,html,ajax,google-chrome-devtools,C#,Jquery,Html,Ajax,Google Chrome Devtools,当我从通过Ajax调用的REST方法返回动态生成的html时,我正在替换页面上的html,如下所示: [HttpGet] [Route("{unit}/{begdate}/{enddate}", Name = "QuadrantData")] public HttpResponseMessage GetQuadrantData(string unit, string begdate, string enddate) { _unit = unit; _beginDate = beg
[HttpGet]
[Route("{unit}/{begdate}/{enddate}", Name = "QuadrantData")]
public HttpResponseMessage GetQuadrantData(string unit, string begdate, string enddate)
{
_unit = unit;
_beginDate = begdate;
_endDate = enddate;
string beginningHtml = GetBeginningHTML(); // This could be called from any page to reuse the same "header"
string bodyBeginningHtml = GetBodyBeginHTML();
string top10ItemsPurchasedHtml = GetTop10ItemsPurchasedHTML();
string pricingExceptionsHtml = GetPriceComplianceHTML();
string forecastedSpendHtml = GetForecastedSpendHTML();
string deliveryPerformanceHtml = GetDeliveryPerformanceHTML();
string endingHtml = GetEndingHTML();
String HtmlToDisplay = string.Format("{0}{1}{2}{3}{4}{5}{6}",
beginningHtml,
bodyBeginningHtml,
top10ItemsPurchasedHtml,
pricingExceptionsHtml,
forecastedSpendHtml,
deliveryPerformanceHtml,
endingHtml);
return new HttpResponseMessage()
{
Content = new StringContent(
HtmlToDisplay,
Encoding.UTF8,
"text/html"
)
};
}
它是从ready函数(单击按钮时)中调用的,如下所示:
名为“HtmlToDisplay”(“Ajax调用中的returneddata”)的字符串的开头如下:
<!DOCTYPE html><html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>eServices Reporting - Customer Dashboard</title><link rel=\"stylesheet\" href=\"http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css\"><script src= . . .
eServices Reporting-Customer Dashboard查看错误消息Uncaught SyntaxError:Unexpected token var
我认为这与HTML无关,而是关于嵌入HTML中的JS代码
在声明下一个var
之前是否缺少分号/括号/语句结尾?我建议您将完整的returneddata
复制到您最喜欢的编辑器中,并搜索所有var
s,查看前一行上是否有任何问题这个问题读起来像是在现有正文中插入一个包含第二个正文的整个html文档。这听起来很奇怪,因为BODY不是文档根。您可能想改用$('html')
。您的意思是:$('html”).html(returneddata)。。。而不是:$(“body”).html(returneddata)?这没什么区别——结果是一样的。还有:“为什么html以空行开头,这可能有问题吗?”因为这是服务器返回的结果,没有问题。调试器把你带到空白处并不能说明那里有错误,它只是无法找到错误原因所在的位置,这可能是因为它不是原始页面的一部分。如果你通过JavaScript渲染整个网页,为什么不直接导航到另一个页面呢?AJAX用于更新部分网页,以节省带宽和重新加载整个页面的资源。
<!DOCTYPE html><html><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>eServices Reporting - Customer Dashboard</title><link rel=\"stylesheet\" href=\"http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css\"><script src= . . .
<body>
<!DOCTYPE html>
<html>
<head>
<body>
@RenderBody()
<hr />
<footer>
<p> © @DateTime.Now.Year - PRO*ACT USA</p>
</footer>
</body>