真的有两种方法可以解决...
jQuery AJAX 调用有一个回调函数,因此您可以简单地从初始提交中获取一些 JSON,并从该回调中触发第二个请求 - 这样您就可以确保第一个操作在您调用第二个之前完成。
var request = {
returnformat : 'json',
queryformat : 'column',
method: 'save_data',
data: /* data to pass to the save action here */
}
$.getJSON("path/to/your/service.cfc", request, function(response) {
var request = {
returnformat : 'json',
queryformat : 'column',
method: 'get_data'
}
$.getJSON("path/to/your/service.cfc", request, function(response) {
/* code to fire on response */
});
});
但是我认为更好的方法是进行一次 AJAX 调用,并在一个 CFC 方法中简单地进行提交保存和数据响应。您的 CFC 可能如下所示:
<cffunction name="save_response" access="remote" output="false">
<cfset response = structNew()>
<cfset response.status = true>
<cftry>
<cfquery datasource="#datasource#">
INSERT...
</cfquery>
<cfquery datasource="#datasource#" name="get_data">
SELECT...
</cfquery>
<cfset response.data = get_data>
<cfcatch type="any">
<cfset response.status = false>
</cfcatch>
</cftry>
<cfreturn response>
</cffunction>