gpt4 book ai didi

jquery - ajax 响应得到返回,但有时不会触发任何操作或警报

转载 作者:行者123 更新时间:2023-12-01 08:22:53 25 4
gpt4 key购买 nike

我有一个相当标准的 ajax 请求,响应以数组形式返回。90% 的情况下它都能完美运行。

不幸的是,有 10% 的情况,请求被发送,响应被返回,但没有显示,我什至无法输出到警报。

Firebug 显示响应没有错误。我可以在另一个窗口中打开回复,就可以了。我已经查看了响应,没有发现任何明显的编码错误。尽管像圣保罗这样的东西正在出现

st.paul\x92S.
返回的数据是从 csv 文件中检索的,该文件已从 Excel 文件转换为 csv。

它总是在相同的请求上失败。因此,90% 的请求都能顺利完成,10% 的请求会失败且没有错误,但始终是相同的 10%。

我使用的是rails,输出是由

生成的
render ({:content_type => :js, :text => @col_data.uniq})

我得到这样的csv,并去掉前导和尾随空格。也许我应该考虑剥离或编码其他字符?

    def csv_data        csv=Dataset.find(session[:dataset_id])        @csv_data = CSV.read(csv.dataset.path)        @csv_data = @csv_data.each{|row| row.each {|col|col.to_s.strip!}}        return @csv_data    end

我会在此处包含输出,但它是一个很长的数组,我已经通过它寻找 nil 或字符编码,但存在的编码肯定被转义了。

这个问题最初是作为 ajax 响应大小错误发布的,因为这是我在有效和无效之间看到的明显区别,但最初的评论让我相信大小不是问题,因为大型响应小于 45kb。

jquery ajax 代码非常简单。我已经尝试使用 dataType: 'json',并且没有设置 dataType。当数据返回时,会触发“警报”,但是,在未返回数据的情况下,不会触发警报。然而,我可以在 firebug 中看到输出,因此它们是非错误响应。

var selected_field=jQuery('option:selected',this).text();    jQuery.ajax({        url: 'selectfilter',        data: 'column_name='+selected_field,        dataType: 'json',        success: function(data){                        alert(data.toSource());            if(data.length==0){            alert('the selected column has no data');            }            var list='';            for (var i=0;i'+data[i]+'';            }            jQuery('table#sample_data').html(list).data('list',data);            }                  })

最佳答案

您是否尝试过以不同的方式在 Controller 中渲染数据,例如使用“render :json => @col_data.uniq”?

关于jquery - ajax 响应得到返回,但有时不会触发任何操作或警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com