• 2013-05-30

    Nginx 499 错误码以及 AJAX 调用失败

    Views: 21035 | No Comments

    Nginx 的 499 响应错误码是 Nginx 自定义的, 并不是 HTTP 标准所定义, 499 对于 Nginx, 表示服务器还没有把所有数据发送给客户端(浏览器), 浏览器就主动中断了连接.

    最近, 在一个项目中遇到这个问题. 这是一个 AJAX 功能, 网页在点击 a 标签后, 向服务器发起了一个 AJAX 请求. 这个功能在 Firefox, Chrome 等浏览器中都正常, 在 IE8 下也正常, 但是, 当网页被嵌入到一个软件的浏览器控件里时, 就失败了. 浏览器总是返回 499. 网页代码如下:

    <a class="mybutton">Click Me</a>
    
    $('a.mybutton').click(function(){
        // ajax
    });
    

    后来, 才发现这是低版本 IE 的一个 bug, IE 中断了事件响应函数里的异步请求. 要解决, 必须在事件处理函数里返回 false. 将上面的代码改成如下就正常了:

    <a class="mybutton">Click Me</a>
    
    $('a.mybutton').click(function(){
        // ajax
        return false;
    });
    
    Posted by ideawu at 2013-05-30 11:02:20 Tags: , ,
  • 2010-04-29

    开发爬虫友好的Ajax网站

    Views: 29767 | 3 Comments

    曾经, Ajax 被当成是 Web 2.0 的全部, 正如 DIV+CSS 被当成是Web标准一样. 到如今, 应用大量 Ajax 技术的网站仍然面临着一个重要问题, 那就是有意义的内容无法被搜索引擎收录. 面对大量 Ajax 网站的产生, 搜索引擎(事实上是爬虫)正在朝着越来越像用户浏览器的方向发展.

    很多站长可能发现, 他们利用 JavaScript 脚本来记录网站访问的日志里, 经常能发现来自"美国加利福尼亚州山景市 Google 公司"的访问记录. 别高兴得太早, 可不是 Google 的工程师在看你的网站, 只是他们支持 JavaScript 的爬虫刚刚抓取了你的网站.

    当然, 为了能让你的 Ajax 网站能被搜索引擎收录正确的内容, 你的网站必须做到:

    每一个不同的内容都能通过一个完整的 URL 来访问!

    Continue reading »

    Posted by ideawu at 2010-04-29 23:23:21 Tags: , , ,
|<<<1>>>| 1/1 Pages, 2 Results.