`

[转载]AJAX error: ActionView::TemplateError (undefined method `[]'..

阅读更多
Hi!
I got an error in my app, when Im adding a produt to my cart Im using some AJAX to first show the cart and then lighten up the new added product in the cart.
But when i add a new product to cart; I have to refresh my page so I can see the new product, because the AJAX doesnt work... It works on my development computer but not in the production server, maybe its something with the new Ruby version: 1.8.7.
Is this code correct?!
My add_to_cart.rjs:
page.select("div#notice").each { |div| div.hide }   <--- If cart is empty it doesnt show the cart
page.replace_html("cart", :partial => "cart",bject => @cart)
page[:cart].visual_effect :blind_down if @cart.total_items == 1
page[:current_item].visual_effect :highlight,
                                  :startcolor => "#8a9546",
                                  :endcolor => "#efeab0"

From the production.LOG
[code=]Processing StoreController#add_to_cart (for 83.254.103.73 at 2009-02-17 22:00:11) [POST]
  Session ID: BAh7CDoMY3NyZl9pZCIlYjY4Mzk0M2JlM2YyZTg3OWRlMzc4ZWU5ZDc5ZmUx%0AYmQ6CWNhcnRvOglDYXJ0BjoLQGl0ZW1zWwAiCmZsYXNoSUM6J0FjdGlvbkNv%0AbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA%3D--eb9fcfaa057def84ec7387692c8ff4084cfd8f7d
  Parameters: {"commit"=>"K
Last edited by depe86 (2009-02-18 14:03:38)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

At last I got the error fixed. I think I was trying for 24h
The problem is with the AJAX function "page.select"  when using Ruby 1.8.7...
Copy this code to the environment.rb.
  unless '1.9'.respond_to?(:force_encoding)
    String.class_eval do
      begin
        remove_method :chars
      rescue NameError
        # OK
      end
    end
  end
分享到:
评论

相关推荐

    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    在深入探讨Jquery中的Ajax函数之前,我们先简要了解Ajax(Asynchronous JavaScript and XML)的概念。Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这使得Web应用程序可以更加流畅地运行,...

    Ext.Ajax.request跨域

    标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...

    Ajax实战:实例详解源代码

    .catch(error =&gt; console.error(error)); ``` ### 六、Ajax应用案例 1. **动态加载内容**:如分页、滚动加载新数据。 2. **表单提交**:无需刷新页面即可完成数据提交。 3. **地图应用**:实时更新地图信息,如...

    《Ajax实战:实例详解》sources

    《Ajax实战:实例详解》这本书是关于Web开发领域中异步JavaScript和XML(Ajax)技术的一本实践指南。Ajax技术的出现,使得网页无需刷新就能实现数据的动态更新,极大地提升了用户体验。本书的"sources"部分包含了...

    完美解决ajax跨域请求下parsererror的错误

    ajax请求报parsererror错误是很宽泛的概念,很多情况下都报这个错, 在很多时候,即使ajax提交、返回都正常 XMLHttpRequest.status=200 (正常响应) XMLHttpRequest.readyState=4 (正常接收) ajax也会提示一个parse...

    Ext.Ajax.request 小问题收集

    此外,`Ext.Ajax.request`还支持其他高级功能,如模拟表单提交(`method: 'POST', useDefaultXhrHeader: false, headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}`),超时设置(`...

    jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: var source=[]; $.ajax({ ...

    ajax.dll+使用教程

    **Ajax.dll 使用教程** 在现代Web开发中,异步JavaScript和XML(AJAX)技术扮演着至关重要的角色,它使得网页无需刷新即可与服务器进行数据交互。本教程将引导你了解如何利用`ajax.dll`这一工具,以更简单、高效的...

    Wrox.Professional.Ajax.2nd.Edition.Mar.2007.pdf

    《专业Ajax:第二版》是Wrox出版社于2007年出版的一本关于Ajax技术的权威指南。本书由三位作者合著,分别是Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett,他们都是在Web开发领域有着丰富经验的专家。该书深入探讨...

    jquery.unobtrusive-ajax.rar

    2. **事件处理**:库内部监听`ajaxStart`、`ajaxSend`、`ajaxSuccess`、`ajaxError`等事件,提供了对Ajax请求生命周期的控制。开发者可以通过自定义事件处理器来扩展功能或处理错误。 3. **内容替换**:默认情况下...

    ajax.request和ajax.periodicalupdate用法讲解

    本文将详细讲解Prototype库中的两个关键Ajax方法:`Ajax.Request`和`Ajax.PeriodicalUpdater`。 ### 1. Ajax.Request `Ajax.Request`是Prototype库中最基础的Ajax请求方法,它允许开发者发起HTTP请求与服务器进行...

    70个流行的ajax应用的演示和源码下载.docx

    Ajax(Asynchronous JavaScript and XML)是一种网页开发技术,它允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。这种技术极大地提高了用户体验,因为它减少了页面加载时间,使得交互更加流畅。...

    asp.net MVC 使用Ajax.BeginForm 无刷新提交from表单

    @using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { UpdateTargetId = "resultDiv", OnFailure = "onFailure" })) { // 表单字段 } ``` 在这里,"Action"是控制器中的方法名,"Controller"是控制器...

    疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发(part01)

    《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是《基于J2EE的Ajax宝典》的第二版。《基于J2EE的Ajax宝典》面市近2年,作为Ajax领域最全面、实用的图书,一直深受读者的好评。全书主要分为三个...

    CH2.Ajax 框架

    &lt;script type="text/javascript" src="Ajax/Ajax.js"&gt;&lt;/script&gt; // 配套的 js &lt;script type="text/javascript" src="Ajax/Handler.ashx"&gt;&lt;/script&gt; // 第 3 步中的一般处理程序(注意 url 中不带任何传参) 例...

    快速解决ajax请求出错状态码为0的问题

    今天在使用 ajax 向后台请求数据时出现错误,提示状态码为 0 ,后台采用的是 spring mvc 架构。 状态码为0是什么意思呢?查找了下,原来它意味着 (未初始化)即没有调用到send()方法,我原来代码如下 : $.ajax...

    疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发(分卷压缩part02)

    《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是《基于J2EE的Ajax宝典》的第二版。《基于J2EE的Ajax宝典》面市近2年,作为Ajax领域最全面、实用的图书,一直深受读者的好评。全书主要分为三个...

    jQuery.Ajax 与action交互

    **jQuery.AJAX 与Action交互详解** 在Web开发中,前端与后端的数据交互是不可或缺的一部分,jQuery.AJAX 提供了一种高效且灵活的方式来实现客户端与服务器端的异步通信。本篇文章将深入探讨如何使用jQuery.AJAX与...

    使用$.Ajax调用后台.aspx

    在JavaScript的世界里,jQuery库提供了一种简便的方式来与服务器进行异步交互,这就是$.ajax方法。这个功能强大的函数使得前端开发者无需刷新整个页面就能获取或发送数据,极大地提升了用户体验。本文将深入探讨如何...

    Ajax请求发送成功但不进success的解决方法

    1.情况描述:ajax发送成功,后台也成功响应请求,并返回了json数据,通过chrome监听请求也可以看到响应的json数据,但是就是不进success方法,反而跑到error方法中了 前端: $.ajax({ type : get, data : {'dbId'...

Global site tag (gtag.js) - Google Analytics