无法在函数参数

时间:2018-11-04 12:29:02

标签: javascript json

我已经在db字段中存储了json字符串,如下所示:这是有效的json:

{"contact_person_name":"abcd","address_line1":"line1","address_line2":"line2","postal_code":"1111","country_id":"2","state":"someState","city":"someCity"}

当我尝试在功能参数中传递此json字符串变量 requestData.fields_values 时,将在控制台中打印,如下所示,同时单击定位标记:

文字未在脚本结束前终止

我的JavaScript函数如下:

function performChangeRequest(vendorId, requestedData){
            console.log('data: ' + requestedData);
}

我正在动态添加如下数据:

<a href="javascript:performChangeRequest('${requestData.vendor_id}', '${requestData.fields_values}' )"></a>

如果我打印第一个变量 vendorId ,它工作正常。

有帮助吗?我尝试环顾四周

1 个答案:

答案 0 :(得分:1)

从数据库中检索JSON并设置requestData时。 fields_values ,而不是分配

requestData.field_values = **data**

代替

requestData.field_values = **data**.replace('"', '\\"')

如果在从数据库中检索该值时无法对其进行拦截,请尝试将锚标记更改为以下内容:

<a href="javascript:performChangeRequest('${requestData.vendor_id}', '${requestData.fields_values.replace('"', '\\"')}' )"></a>

在函数 performChangeRequest 中执行console.log('data:'+ JSON.parse(requestedData));