У меня есть страница, которая отображает список файлов, которые пользователь загрузил. Это примерно так:Вызвать метод ColdFusion при щелчке в JQuery
<ul id="FileUploader">
<li>
<a href="directory/filename1.pdf">Filename1</a>
<a href="#" class="DeleteFileUpload">Delete</a>
</li>
<li>
<a href="directory/filename2.pdf">Filename2</a>
<a href="#" class="DeleteFileUpload">Delete</a>
</li>
</ul>
У меня есть CFC с методом, который должен знать, какой файл удалить. Поскольку это не Form, я не уверен, как передать данные в CFC, чтобы удалить его.
CFC Пример:
<cffunction name="DeleteUpload" access="remote" returnformat="JSON">
<cfargument name="Filename" required="true"> //which filename to delete
<cffile action = "delete" file = "c:\files\upload\#Arguments.Filename#"> //delete the file
<cfquery> // Update SQL table to remove filename reference
DELETE FROM UploadsTable
WHERE Filename = '#Arguments.Filename#'
</cfquery>
<cfset success = true> // all done so set variable to true
<cfreturn success> // returns success as JSON to notify Jquery of deletion
</cffunction>
Как я могу использовать JQuery Ajax, чтобы передать значение имени файла в CFC, так что он знает, какой из них удалить, а затем после получения успешного результата информирует пользователя с оповещать?
Я знаю, как это сделать с помощью FORM, но поскольку это не форма, я немного смущен. Это, насколько пришел мой JQuery:
$("#FileUploader").on('click', '.DeleteFileUpload', function() {
$(this).parent('li').remove();
});
Это удаляет только <li>
из DOM. Мне также нужно получить имя файла и передать его CFC каким-то образом.
Помните, что ColdFusion выполняется на сервере, а JS выполняется в браузере (по крайней мере, в этом случае это так.) Итак, вы должны создать метод ColdFusion, в который вы можете отправить POST или GET. Тогда вы сможете называть это в JavaScript с помощью Ajax. – quakkels
Да, я это понимаю. Я просто хочу передать значение Filename в CFC. Я думаю, мне нужно использовать $ .ajax «Get», но не уверен. –
Если вы отправляете данные для обработки, то вам, вероятно, следует использовать $ .post - http://api.jquery.com/jQuery.post/ – quakkels