Побег некоторых персонажей в JavaScript - PullRequest
0 голосов
/ 14 октября 2011

У меня есть вызов ajax в моем устаревшем приложении:

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

Я хочу добавить этот запрос Ajax в методе setTimeout.Чтобы убежать " я добавил \.Я придумал следующую строку:

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

Теперь я не получаю никакой ошибки на консоли, но вызов Ajax также не работает.

Я что-то пропустил?

1 Ответ

1 голос
/ 14 октября 2011

Переменные rec и / или scopedCallbackQRSI, вероятно, определены в локальной области (поэтому недоступны из глобальной области).Когда setTimeout вызывается со строковой функцией в качестве первого аргумента, функция выполняется в области действия window.

Чтобы сохранить область действия (и иметь возможность использовать локальные переменные), обернитекод в функции и передать его в качестве первого аргумента setTimeout:

setTimeout(function(){
    i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryResultInstanceId("CRC:QueryStatus", {qr_key_value: rec.QRS_ID}, scopedCallbackQRSI);
}, 50000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...