Javascript 未捕获的SyntaxError:将字符串传递给函数时意外标记非法

Javascript 未捕获的SyntaxError:将字符串传递给函数时意外标记非法,javascript,jquery,html,Javascript,Jquery,Html,我有以下资料: var params = httpGet("http://localhost/data"); console.log(params) 将在控制台中显示以下内容: { "Success": true, "Data": { "requestBody": { "Text": "{\r\n \"ID\": 1,\r\n \"Name\": \"sample string 2\",\r\n \"Desc\": \"sample string 3\",\

我有以下资料:

var params = httpGet("http://localhost/data");

console.log(params)
将在控制台中显示以下内容:

{
  "Success": true,
  "Data": {
    "requestBody": {
      "Text": "{\r\n  \"ID\": 1,\r\n  \"Name\": \"sample string 2\",\r\n  \"Desc\": \"sample string 3\",\r\n  \"quibble\": \"sample string 4\",\r\n  \"cobble\": 5,\r\n  \"abc\": 6,\r\n  \"Status\": \"Enabled\",\r\n  \"id\": 7\r\n}"
    }, 
    "responseBody": {
      "Text": "{\r\n  \"ID\": 1,\r\n  \"Name\": \"sample string 2\",\r\n  \"Desc\": \"sample string 3\",\r\n  \"quibble\": \"sample string 4\",\r\n  \"cobble\": 5,\r\n  \"abc\": 6,\r\n  \"Status\": \"Enabled\",\r\n  \"id\": 7\r\n}"
    },
    "apiDescr": "description"
  },
  "ErrorCode": 0,
  "ErrorDescription": "",
  "Meta": ""
}
但是,当我尝试将参数传递给如下函数时:

var params = httpGet("http://localhost/data");

console.log(params)

$(".modal-body").append("<p><a href=\"#\" role=\"button\" class=\"btn btn-default\" onClick=\"display_params('" + params + "')\">" + key + "</a>" + " " + d.verbDocDict[key]["document"] + "</p>")
$(".modal-body").append("<div id=\"" + key + "\"></div>")

function display_params(params) {
    console.log(params)
}
编辑

投票结束的人能解释一下这是怎么离题的,这样我就可以补救了吗

httpGet:

function httpGet(theUrl) {
    var xmlHttp = null;

    xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", theUrl, false);
    xmlHttp.send(null);
    return xmlHttp.responseText;
}

您缺少一个引号:

var params = httpGet("http://localhost/data);
我使用escape和unescape函数解决了这个问题:

var params = httpGet("http://localhost/data");

$(".modal-body").append("<p><a href=\"#\" role=\"button\" class=\"btn btn-default\" onClick=\"display_params('" + escape(params) + "')\">" + key + "</a>" + " " + d.verbDocDict[key]["document"] + "</p>")
$(".modal-body").append("<div id=\"" + key + "\"></div>")

function display_params(params) {
    console.log(unescape(params))
}

回车/lf可能是问题所在。为什么那些在里面?我建议清理源数据。它是从服务器返回的自动生成字符串的一部分。如果可能的话,我想保留它们。您是否100%确定这个问题与显示参数有关,而不是与使用未转换的引号构建字符串有关?另外,你能展示一下httpGet的来源吗?哦,用未替换的引号构建字符串是有意义的,用httpGet更新了这个问题。很抱歉,这只是我的一个输入错误
var params = httpGet("http://localhost/data");

$(".modal-body").append("<p><a href=\"#\" role=\"button\" class=\"btn btn-default\" onClick=\"display_params('" + escape(params) + "')\">" + key + "</a>" + " " + d.verbDocDict[key]["document"] + "</p>")
$(".modal-body").append("<div id=\"" + key + "\"></div>")

function display_params(params) {
    console.log(unescape(params))
}