Я новичок в FW1. У меня есть основы, но всякий раз, когда я пытаюсь заставить его работать в некоторых других библиотеках, это боль. Его трудно понять, что происходит не так.Данные формы в Fw/1 (Coldfusion) с использованием AJAX
Я хочу опубликовать данные формы в newServer.cfm в функции контроллера в main.cfc с помощью AJAX и jQuery (submitForm.js). Функция контроллера отправляет данные в службу (submit.cfc), которая отправляет данные в DAO (submit.cfc) для вставки в базу данных. Затем возвращает статус, если это удалось или нет.
Папка Strucuture
submitForm.js
$(document).ready(function() {
$("#submitForm").submit(function(){
dataString = $("#submitForm").serialize();
$.ajax({
type: "POST",
url: "index.cfm?action=main.submit",
dataType: "json",
data: dataString,
success: function(response) {
$("#result").html(response);
},
error: function(xhr, status, e) {
$("#result").html(status);
}
});
});
});
main.cfc (контроллер)
<cfcomponent accessors="true" output="false">
<cfproperty name="submitService">
<cfscript>
function init(fw) {
variables.fw = fw;
return this;
}
public function submit(rc){
json = deserializeJson(rc);
rc.status = submitService.submitForm(json);
}
</cfscript>
</cfcomponent>
submit.cfc (Service)
<cfcomponent accessors="true">
<cfproperty name="submitDAO">
<cffunction name="submitForm" returnType="boolean" access="public" output="false" hint="I return a list of blog entries">
<cfargument name="json" type="struct" required="true" hint="" displayname="rc" />
<cfset status = "">
<cfset status = submitDAO.submitForm(json)>
<cfreturn status>
</cffunction>
</cfcomponent>
Просто для проверки я возвращал логическое значение из DAO.
submit.cfc (ДАО)
<cfcomponent accessors="true">
<cffunction name="init" hint="I return an instance of myself">
<cfreturn this>
</cffunction>
<cffunction name="submitForm" returntype="boolean" hint="I return a list of blog entries">
<cfargument name="json" type="struct" required="true" hint="" displayname="rc" />
<cfset var status = true>
<cfreturn status>
</cffunction>
</cfcomponent>
Данные формы их размещения, но после этого нет никакого ответа. Firebug показывает ошибку в JQuery строке 8630:
xhr.send(options.hasContent && options.data || null);
Я попытался изменить URL в Ajax функции не «Контроллеры/main.cfc метод = представить?», Но до сих пор не увенчались успехом.
Шаг 1 - локализовать проблему. Можете ли вы вызвать эти функции без использования ajax? –
Да. Если я просто использую coldfusion, я могу без проблем справиться с rc. – Soobax
Помогает ли это? http://stackoverflow.com/questions/18448717/how-do-retret-json-from-an-action-in-fw-1 (Отказ от ответственности это был мой вопрос) –