Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无hashbang的Ajax可爬行应用程序_Javascript_Ajax_Node.js_Gwt - Fatal编程技术网

Javascript 无hashbang的Ajax可爬行应用程序

Javascript 无hashbang的Ajax可爬行应用程序,javascript,ajax,node.js,gwt,Javascript,Ajax,Node.js,Gwt,我正在建立一个基于Ajax的网站。加载Dom时,向服务器发出一个异步http请求,服务器回答JSON文本,然后通过javascript将JSON中的数据放入Dom中。 Google crawler只是不读取在javscript之后加载的内容,所以我需要(在服务器上)创建我的页面的HTML快照,并让我的服务器用hashbang处理请求。 但我的疑问是,我没有在我的请求中使用hashbang。 我唯一的ajax请求类似于http://www.apiservice.com?get_data=true我

我正在建立一个基于Ajax的网站。加载Dom时,向服务器发出一个异步http请求,服务器回答JSON文本,然后通过javascript将JSON中的数据放入Dom中。 Google crawler只是不读取在javscript之后加载的内容,所以我需要(在服务器上)创建我的页面的HTML快照,并让我的服务器用hashbang处理请求。 但我的疑问是,我没有在我的请求中使用hashbang。 我唯一的ajax请求类似于
http://www.apiservice.com?get_data=true
我怎样才能告诉google是哪个请求获取整个页面的HTML快照,我可以在哪里做(可能会将请求url放在sitemap中?)


非常感谢您的帮助

我知道您的页面是分两步构建的:第一步是请求服务器获取核心html/javascript,第二步是获取要在页面中显示的附加数据

如果是这样,那么第一个请求就是具有hashbang的爬虫程序的请求。把它放在你的网站地图上很有意义。服务器应该返回的静态html页面是进程中两个服务器调用产生的完整html

如果不缓存爬虫程序的静态html页面,而是动态生成它(例如,使用htmlunit,请参阅),那么在返回静态html快照之前,将执行这两个步骤。因此,如果你缓存它,那么你应该确保你也这样做