javascript — ошибка возврата JSON как неопределенная, когда значение является числовым

не уверен, где ошибки кроются в том, чего я пытаюсь добиться.

Я работаю с чужим кодом, и, к сожалению, в некоторых местах они использовали числа для разделений.

Эти числовые идентификаторы используются в разных местах, и если я могу, я хочу найти способ сохранить вещи такими, какие они есть.

Так,

возвращая следующее в JSON:

editorID: "1000"

И в моем вызове AJAX я использую это возвращение так:

var editorID = response.editorID;

CKEDITOR.instances.editorID.insertHtml('<br><img class="buildimage" src="http://www.buildsanctuary.com/phpLibs/bulletproof-master/src/userBuildImages/'+response.imageName+'"><br>');

Однако это дает мне ошибку, говоря, что editorID не определен.

Поскольку вы уже можете использовать JSON-ответ в своем коде, это прекрасно работает, так что это не проблема с типами данных и т. Д.

Я также пытался сделать:

alert(response.editorID);

который дал мне правильное значение.

Когда я пытался вставить число непосредственно в код CKEditor insertHTML, он показывал мои синтаксические ошибки, так что, возможно, в этом и проблема. Если так, какая-нибудь работа для этого?

Благодарю. Крейг.

0

Решение

Чтобы использовать переменную в качестве свойства, вы должны использовать [] обозначения:

CKEDITOR.instances[editorID].insertHtml('<br><img class="buildimage" src="http://www.buildsanctuary.com/phpLibs/bulletproof-master/src/userBuildImages/'+response.imageName+'"><br>');

Когда вы используете .editorID, он ищет свойство с именем editorIDне 1000,

Вы также должны использовать этот синтаксис, когда свойство не является допустимым идентификатором. Поэтому, если вы хотите указать число напрямую, вы должны написать:

CKEDITOR.instances['1000'].insertHtml('<br><img class="buildimage" src="http://www.buildsanctuary.com/phpLibs/bulletproof-master/src/userBuildImages/'+response.imageName+'"><br>');
1

Другие решения

Других решений пока нет …