由于在window.open()中的JSON中的“#”字符,Json字符串被截断

时间:2014-09-12 09:26:46

标签: jquery json asp.net-mvc-4

这是我的json {"col1":"val1","col2":"val#","col3":"value"}

我是,像这样调用window.Open()

var winW = 0;
var winH = 0;
var winX = 0;
var winY = 0;
var features = 'left=' + winX + ',top=' + winY + ',width=' + winW + ',height=' + winH + ',toolbar=0,location=0,status=0,scrollbars= 1,resizable=1,visible=0';

var data= JSON.stringify("_data");
var SortOrder = JSON.stringify(_sortOrder);
Window = window.open(methodName+ '?Param=' + data+, null, features);

当它进入相应的方法时,"#"之后的数据。不在这里 ,我缺少什么请建议/帮助。

1 个答案:

答案 0 :(得分:1)

首先我假设_"data"是你问题中的拼写错误,因为这会引发语法错误。

在查询字符串值中不允许使用#字符,因为它用于表示URL片段。您需要对其进行URL编码:

var data = encodeURI(JSON.stringify(foo)).replace(/#/g, '%23');