javascript中的Grails hashmap变量给出了不同的格式
Grails hashmap variable in javascript gives different format
在我的grails控制器中:
assert result == [hus:['hus@gmail.com', 'SE', 'on', '9908899876'], vin:['vin@gmail.com', 'SD', 'on', '7765666543']]
println "result is::"+result
println result.getClass()
[result:result] //passing model to view
打印:
[hus:[hus@gmail.com, SE, on, 9908899876], vin:[vin@gmail.com, SD, on, 7765666543]]
class java.util.LinkedHashMap
但是当我从我的视图页面获得这个哈希图并从javascript 访问时
$(function(){
alert('${result}');
});
它打印
{
hus=[hus@gmail.com,SE,9902766542],
vin = [vin@gmail.com, SE,887654433]
}
不是有效对象,也不是有效对象(: replaced by =)
应该是
{ hus:[hus@gmail.com,SE,9902766542], vin : [vin@gmail.com, SE,887654433] }
为什么会这样?我该如何纠正?
您的电流输出由Map
result
的toString()
产生,可用于打印数据,但将其传输到javascript不是很有用。
您应该在控制器中将结果转换为json:
def json = result as JSON
并将其返回到您的型号:
[json : json ]
之后,您可以使用JQery.parseJSON:在Javascript中创建一个对象
var obj = jQuery.parseJSON("${ json.toString() }");
相关文章:
- 更改angularjs中的日期-时间格式
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 测试文本区域中的特定文本格式
- 如何从Angularjs中的新日期获取日期格式
- 获取javascript中的公钥格式
- 确定Twig(或JavaScript)中的国际日期格式,以便在其他地方使用
- Angular指令中的最佳实践是将文本输入设置为英尺和英寸的格式
- 由于布尔值的变化,Django视图中的字符串格式不正确
- 如何将HTML表单(JSON格式)中的数据分配给变量
- dygraph x轴中的时间格式
- 表单中的CSS、HTML格式
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 更改html标记或其子标记(而不是其属性)文本中的日期格式
- d3.格式中的可变精度
- 选择样式格式中的所有或某些父/子复选框
- 格式中的图像在选择事件时将用户发送到新页面时,选择标记被破坏
- 如何使用数据格式中的ng repeat来使用顺序和组
- 对该代码的改进,以比较格式中的2个时间(HH:MM:SS)
- 如何转换格式中的数字"hhmmss"使用javascript设置时间格式hh:mm:ss
- 将视图Web表单视图引擎格式中的字符串数组转换为javaScript对象