繁体   English   中英

在JavaScript中转义一些字符

[英]Escape some characters in JavaScript

我的旧应用程序中有一个ajax调用:

i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryResultInstanceId(
    "CRC:QueryStatus", {qr_key_value: rec.QRS_ID}, scopedCallbackQRSI
);

我想在setTimeout方法中添加此Ajax请求。 为了逃脱, "我添加了\\ 。我想到了以下代码:

setTimeout("i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryResultInstanceId(\"CRC:QueryStatus\", {qr_key_value: rec.QRS_ID}, scopedCallbackQRSI)",50000);

现在,我在控制台上没有收到任何错误,但Ajax调用也无法正常工作。

我有什么想念的吗?

rec和/或scopedCallbackQRSI变量可能在本地范围内定义(因此无法从全局范围访问)。 当使用字符串化函数作为第一个参数调用setTimeout ,该函数在window范围内执行。

为了维护范围(并能够使用局部变量),请将代码包装在一个函数中,并将其作为第一个参数传递给setTimeout

setTimeout(function(){
    i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryResultInstanceId("CRC:QueryStatus", {qr_key_value: rec.QRS_ID}, scopedCallbackQRSI);
}, 50000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM