Ashx处理程序中的Html内容不会显示在搜索索引的Html源中



我使用dataType: 'html'type: 'GET'和一些参数通过jquery调用ASHX处理程序。

有一些结果是从ASHX处理程序中检索到的。使用内容类型"html",结果(由html标记和javascript混合而成)将附加(使用jquery appendTo)到div dvProducts。从ASHX处理程序填充的html和javascript在每个浏览器中都运行良好。尽管在视图源中查看div dvProducts时,它是空的。div可以在chrome或firefox中进行检查,下面有适当的标记和层次结构。

基本上,它是按名称搜索产品,处理程序查询并设置要显示的布局。

只有当查看源代码时结果div似乎为空时,问题才会出现。这是谷歌缓存和索引页面所必需的。

请在这种情况下提供帮助,并建议是否有更好的方法。

您需要填充div服务器端,而不是仅依赖JavaScript。重构代码,以便通过asp.net模板引擎插入html。如果您使用的是WebForms,请将该代码放在用户控件中,并从ashx中呈现它,以便可以通过JavaScript检索它(请查看RenderControl)。然后转到包含div的用户控件/页面,并在那里插入新的用户控件。现在,您不能附加从ashx中检索到的html——您必须用ashx中的html替换div的innerHTML。

"从ashx处理程序填充的html和javascript在每个浏览器中都能正常工作。尽管在视图源中查看div‘dvProducts’时,它是空的。"

如果您确信您的处理程序工作正常,请在jquery请求处理程序后查看浏览器控制台,或使用浏览器提供的调试工具。因为如果您的处理程序运行良好,那么将处理程序响应附加到div应该不会成为问题。

如果你能提供一些代码,那么社区将很容易引导你朝着正确的方向前进

基本上Ajax生成的内容是动态的,不能进行索引或爬网,请查看https://developers.google.com/webmasters/ajax-crawling/

他们有一些方法/概念可以帮助您

最新更新