我有一个从第三方地图api提供商处获取地图数据的ajax调用。
jQuery(function() {
jQuery.ajax({type: 'GET', dataType: 'script', url: '/ajax/load_bmap'});
});
以上ajax代码在load_bmap.js.erb
成功调用了以下代码。
jQuery('#dituContent').attr('data-x', '<%= j @origin_x %>');
jQuery('#dituContent').attr('data-y', '<%= j @origin_y %>');
但它在日志文件中抛出以下异常导致500内部服务器错误
ActionView::Template::Error (undefined method `gsub' for 121.462488:Float):
1: jQuery('#dituContent').attr('data-x', '<%= j @origin_x %>');
2: jQuery('#dituContent').attr('data-y', '<%= j @origin_y %>');
121.462488确实是我希望用data-x
代替的x坐标。
有任何帮助吗?非常感谢提前。
修正了拼写错误。
答案 0 :(得分:4)
如果@origin_x
和@origin_y
不是字符串,那么您不需要(也不能)转义它们。只需删除j
帮助程序。
jQuery('#dituContent').attr('data-x', '<%= @origin_x %>');
jQuery('#dituContent').attr('data-y', '<%= @origin_y %>');