Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Unicode转义序列转换为符号,并转储到dom节点_Javascript_Jquery_Ajax_Unicode_Escaping - Fatal编程技术网

Javascript 将Unicode转义序列转换为符号,并转储到dom节点

Javascript 将Unicode转义序列转换为符号,并转储到dom节点,javascript,jquery,ajax,unicode,escaping,Javascript,Jquery,Ajax,Unicode,Escaping,浏览器:FF最新版本/Chrome最新版本 jQuery:1.x边缘 ajax请求生成此响应(作为纯文本、单行、有效的JSON(由Gson生成)发送,由jQuery作为纯文本处理) (此处格式化以便于阅读,但它以单行形式到达,缩小) 然后,我使用以下行将纯文本转换为对象文字: var currObj = $.parseJSON($.trim(thatStringUpThere)); 问题是,currObj.toSymbol现在字面上是“\u0024”,而不是“$”。 考虑到我不能将响应类型和

浏览器:FF最新版本/Chrome最新版本
jQuery:1.x边缘

ajax请求生成此响应(作为纯文本、单行、有效的JSON(由Gson生成)发送,由jQuery作为纯文本处理)

(此处格式化以便于阅读,但它以单行形式到达,缩小)

然后,我使用以下行将纯文本转换为对象文字:

var currObj = $.parseJSON($.trim(thatStringUpThere));
问题是,currObj.toSymbol现在字面上是“\u0024”,而不是“$”。

  • 考虑到我不能将响应类型和句柄更改为json
  • 考虑到我在jQuery的成功方法中只有那个普通字符串可以使用
问:如何将$转储到dom节点中?

(目前,jquery的.html()和.text()一直将“\u0024”转储到dom,而不是$symbol)

谢谢。

简单解决方案:

unescape(JSON.parse($.trim(thatStringUpThere)));
var r = /\\u([\d\w]{4})/gi; 
x = unescape (x.replace(r, function (match, grp) { 
  return String.fromCharCode(parseInt(grp, 16)); 
} ));
更优雅的解决方案:

unescape(JSON.parse($.trim(thatStringUpThere)));
var r = /\\u([\d\w]{4})/gi; 
x = unescape (x.replace(r, function (match, grp) { 
  return String.fromCharCode(parseInt(grp, 16)); 
} ));

您正在使用哪个浏览器/jQuery?在jQuery 2.0.3/Chrome 36上,它对我来说就像预期的那样工作。@joews添加了详细信息。我在jQuery1.xEdge上。您使用了什么代码将“\\u0024”作为美元($)转储到dom?在带有现有
h1
标记的页面上:
var currObj=$.parseJSON($.trim))$('h1')。文本(currObj.toSymbol)