У меня есть форма, в которой пользователи будут копировать и вставлять текст из слова doc. Это содержимое может содержать символ табуляции. Функция on-click обрабатывает отправку формы, используя JAXX-вызов ajax для функции холодного пула. Форма передается через вызов ajax компоненту.символ вкладки, вызывающий компонент ajax coldfusion, не работает, 500 Внутренняя ошибка сервера
<form name="test">
<textarea name="swPurpose"></textarea>
<input type="button" value=" Go " onclick="goForm(this.form);" />
</form>
function goForm(f){
var param=f;
http('POST','testCFC.cfc?method=test',goForm_RTN,param);
}
<cfcomponent output="false">
<cffunction name="test" access="remote" output="false">
<cfset rtn=structNew()/>
<cfsavecontent variable="rtn.html">
<cfoutput><p>#form.swPurpose#</p></cfoutput>
</cfsavecontent>
<cfreturn rtn />
</cffunction>
</cfcomponent>
Это работает очень хорошо, если только символ табуляции не находится в содержимом формы. Если вкладка в содержимом, я получаю 500 внутренних ошибок сервера.
Это образец текста, представленный в форме.
1 This is text 2 This is text 3 This is text
Это закодированный текст из Firebug, который отправляется в функцию.
swPurpose=1%9This%20is%20text%0a2%9This%20is%20text%0a3%9This%20is%20text&btn=%20OnClick%20,%20Submit%20
Использование Firebug, я вижу, что содержимое, отправленное в функцию, закодировано. Вкладки -% 9. Я могу поместить cfc в действие формы, и функция не сработает.
Мое обходное решение состоит в том, чтобы вырезать вкладки с помощью javascript перед отправкой его функции. Однако я хотел бы понять, почему вкладка вызывает ошибку 500, и если есть что-то, что можно сделать для предотвращения этого.
очень таинственный. Думаю, я сам проверю это. –
Что произойдет, если вы измените код функции на ' '? –