Ich bekomme einen Fehler 500, wenn ich versuche, eine Methode in einem cfc aufzurufen. Da ich keine Debugging-Informationen bekomme, muss ich herausfinden, was passiert. Ich habe mir die Protokolle angeschaut, und nichts deutet darauf hin, was vor sich geht. Ich bin mit jquery .ajax
die cfc nennen POST
500 Fehler in cfc
Hier mit der Jquery:
$("#edit_button").click(function(){
if(theArray.length > 0){
theJson = JSON.stringify(theArray);
}
$.ajax({type:"POST",
url: "/CFCs/fund_profile.cfc?method=updateProfile",
data:theJson,
dataType:"json",
success:(function(response){
var content = ''
response = JSON.parse(response);
alert("the response is" + response);
});
});
});
Das die Methode in der cfc ist ziemlich einfach jetzt:
<cffuntion name="updateProfile" access="public" returnFormat="json">
<cfargument name="theJson">
<cfif isJson(theJson)>
<cfset var theArray = deserializeJson(theJson)>
<cfset var passingJson = serializeJson(theArray)>
</cfif>
<cfreturn passingJson>
Hier ist die Stapelspur:
500
javax.servlet.ServletException
at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:154)
at coldfusion.xml.rpc.CFCServlet.doPost(CFCServlet.java:289)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Ich bin ratlos, und ohne irgendwelche echten Debugging-Informationen weiterzumachen, stecke ich fest. Irgendwelche Ideen?
Ich habe versucht, dass, bevor man das war das Problem, und ich bin immer noch die gleichen Fehler. –
Ok. Es muss jedoch entfernt sein :). Haben Sie versucht, den Aufruf $ .getJSON (http://api.jquery.com/jQuery.getJSON/) von jQuery (gegenüber $ .ajax) zu verwenden: $ .getJSON ("/ url/or/Pfad/zu/Ihrer /cfc.cfc ", { Methode: 'update_profile', theJSON: yourdata, Rückgabewert: 'json' }, Funktion (Daten) {Alarm (Daten);}); –
Ich habe nicht. Ich werde es versuchen. Ich bin ziemlich neu in jQuery, also ist das alles Versuch und Irrtum (mehr Fehler, als ich zugeben möchte :)). –