Ajax 呼び出しの後に返さなければならないデータがいくつかあります。私の.cfcページには、データを変換するロジックがあります。各列はタブ区切りで、各行は CRLR で区切られています。cffunctionreturnformat を に設定していますJSON。データを返した後、JavaScript を使用して目的の形式で列と行を分離します。これを行っている間、人々が ColdFusion 9 のあらゆる種類の問題について話しているブログをほとんど見ませんでしたJSON。私の開発サイトでは ColdFusion 10 を使用していますが、データに問題はありませんでした。しかし、ライブ サイトには ColdFusion 9 があり、それによって問題が発生するのではないかと考えていました。私のデータには Address のようなフィールドがあり、このフィールドではあらゆる種類の文字を使用できます。たとえば、データが次のような場合、coldfusion 9 の戻り型 JSON には問題があります。2131231D文字列と整数の組み合わせがDJSON で終わる場合、同じデータは返されません。だから私の質問は、この状況で何をすべきですか?この問題の修正はありますか? JSON は信頼でき、ColdFusion 9 で使用することをお勧めしますか? 回避できるように.cfcページのデータを変換するツールも探していましたcffunction returnformat='JSON'。これが私のコードです:
<cfcomponent>
<cffunction name="getData" access="remote" output="true" returnformat="JSON">
<cfset fncResults = StructNew()>
<cfif myFile = true>
<cfoutput query="myData">
//Here I organize my data
</cfoutput>
<cfset getList = arrayToList(buffer,crlf)/>
<cfset fncResults.status = "200">
<cfset fncResults.fileData = #getList#>
<cfelse>
<cfset fncResults.status = "400">
<cfset fncResults.message = "The file was not properly uploaded.">
</cfif>
<cfreturn fncResults>
</cffunction>
</cfcomponent>
ここに私のJavaScriptがあります:
function getFile(){
$.ajax({
type: 'POST',
url: 'Components/test.cfc?method=getData',
data: new FormData($('#myForm')[0]),
cache: false,
dataType: 'json'
}).done(function(obj){
if(obj.STATUS === 200){
return obj.FILEDATA;
}else{
return false;
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
});
}