JavaScript - 如何使用var中的转义引号来通过Json传递数据

Gui*_*Gui 9 javascript json

我将一些数据通过Json传递给Webservice.我的问题是我传递了html(来自tinyMCE输入),因此var的内容使用引号,这给了我一些问题.我正在传递这样的值:

 data: '{ id: "' + news_id + '", title: "' + news_title + '", body: "' + news_body + '" }',
Run Code Online (Sandbox Code Playgroud)

无论如何在javascript中使用espace引用,所以我可以在news_body var中发送html吗?

谢谢

Fré*_*idi 15

使用replace()方法:

function esc_quot(text)
{
    return text.replace("\"", "\\\"");
}

data: '{ id: "' + esc_quot(news_id) + '", title: "' + esc_quot(news_title) + '", body: "' + esc_quot(news_body) + '" }',
Run Code Online (Sandbox Code Playgroud)


out*_*tis 13

使用Javascript JSON编码器(例如由MooTools的JSON实用程序JSON.js提供),而不是使用一次性代码,它将为您处理编码.大浏览器(IE8,FF 3.5 +,Opera 10.5 +,Safari和Chrome)通过JSON对象本地支持JSON编码和解码.编写良好的JSON库在存在时将依赖于本机JSON功能,并在不存在时提供实现.该YUI JSON库是一个做到这一点.

data: JSON.stringify({
  id: news_id,
  title: news_title,
  body: news_body
}),
Run Code Online (Sandbox Code Playgroud)