json - 在rails中使用CoffeScript检索json数据

标签 json jquery coffeescript ruby-on-rails-3.2

我是 Rails 应用程序和 Coffescript 的新开发人员

我有这个 CoffeScript 代码,可以使用 ajax 和 get 方法和 json 来获取一些数据:

jQuery ->
  $("#detalleliquidacion_nit").change ->
    campo1 = document.getElementById("detalleliquidacion_nit")
    document.getElementById("detalleliquidacion_proveedor_id").value = ""
    document.getElementById("detalleliquidacion_nombreproveedor").value = ""
    jQuery.getJSON "/proveedores/obtenerdatos/" + campo1.value, (data) ->
      $("#detalleliquidacion_nombreproveedor").val data[0].nombreproveedor 
      $("#detalleliquidacion_proveedor_id").val data[0].id

    false

我想知道ajax是否为空。

我尝试在“false”句子后面添加此代码:

campo2 = document.getElementById("detalleliquidacion_proveedor_id").value
alert campo2  if campo2 is ""

但是总是返回true,因为表单中的输入字段,此时,仍然是空的。

我的环境是:rails 3.2.6; ruby 1.9.3p194

如何知道ajax返回是否为空?

一些建议将不胜感激。

问候。

最佳答案

我不确定我是否正确理解了您的问题,但看起来您想知道返回的 JSON 值是否为 false 或者想查看其中的内容。

尝试这样的事情

jQuery ->
    jQuery("#detalleliquidacion_nit").change ->
        jQuery('#detalleliquidacion_proveedor_id').val('')
        jQuery('#detalleliquidacion_nombreproveedor').val('')

        jQuery.ajax
            url: "/proveedores/obtenerdatos/" + jQuery('#detalleliquidacion_nit').val()
            success: (data) ->
                if data.length == 0
                    alert 'empty reply from server!'
                try
                    obj = jQuery.parseJSON data
                    console.log obj #useful if you are in chrome, safari, or have firebug
                    if obj[0]?
                        jQuery("#detalleliquidacion_nombreproveedor").val( obj[0].nombreproveedor ) if obj[0].nombreproveedor?
                        jQuery('#detalleliquidacion_proveedor_id').val( obj[0].id ) if obj[0].id?
                catch err
                    alert 'Error parsing: ' + data

        false

与便捷方法 jQuery.getJSON 相比,使用 jQuery.ajax 可以让您更精细地控制返回的数据

console.log 将输出到 Development Console并可以帮助您调试。您还可以使用 Chrome 和 Safari 中更高级的 javascript 调试功能来设置断点并在运行时查看变量的值

关于json - 在rails中使用CoffeScript检索json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597114/

相关文章:

jquery - 视差滚动更平滑

javascript - 多个 Canvas 层和鼠标移动

javascript - 如何更改与 Backbone 集合中的模型关联的几个元素的 css 属性?

python - 了解 json.loads() 中的 object_pairs_hook

具有 RESTful JSON 服务、HTML5 和 jQuery ajax 的 Java Web 框架

javascript - 使用循环索引从对象中提取数据的问题

javascript - jQuery - 使用 :contains then change content 选择

node.js - Node : child_process. exec() 进程在父进程死亡后继续

css - 用于 dashing 小部件的自定义背景图标

C# 创建用于 JSON 序列化和反序列化的 .NET 对象