Jquery 如何将excel文件读入json并发送到CFC以插入数据库?
我正在使用“xlsx.full.min.js”插件读取一个excel文件,并将文件数据导入JSON对象。然后,我正在使用jQuery Ajax将这个JSON对象发送到Coldfusion组件(CFC),但它给了我一个错误,即“400错误请求”。CFC没有得到我试图发送的JSON数据。我的代码有什么问题Jquery 如何将excel文件读入json并发送到CFC以插入数据库?,jquery,json,ajax,cfc,Jquery,Json,Ajax,Cfc,我正在使用“xlsx.full.min.js”插件读取一个excel文件,并将文件数据导入JSON对象。然后,我正在使用jQuery Ajax将这个JSON对象发送到Coldfusion组件(CFC),但它给了我一个错误,即“400错误请求”。CFC没有得到我试图发送的JSON数据。我的代码有什么问题 var selectedFile = evt.target.files[0]; var reader = new FileReader();
var selectedFile = evt.target.files[0];
var reader = new FileReader();
reader.onload = function(event) {
var data = event.target.result;
var workbook = XLSX.read(data, {
type: 'binary'
});
workbook.SheetNames.forEach(function(sheetName) {
var excel_json = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]);
var json_object = JSON.stringify(excel_json);
$.ajax({
url:"maps.cfc",
dataType: "json",
data: {
method:"updateFuelPrices",
jsstruct:json_object
},
success: function(data) {
console.log(data);
console.log("update successful");
},
error: function(xhr, textStatus, errorThrown) {
console.log(textStatus);
console.log(errorThrown);
console.log("Something went wrong! Please refresh the page and try again.");
}
})
})
};
reader.onerror = function(event) {
console.error("File could not be read! Code " + event.target.error.code);
};
reader.readAsBinaryString(selectedFile);
});
我的CFC功能是:
<cffunction name="updateFuelPrices" output="false" access="remote" returnformat="json" returntype="string">
<cfargument name="jsstruct" type='string' required="true">
<cfset returntext = 'json sent successfully...'>
<cfdump var="#ARGUMENTS.jsstruct#">
<!--- DB insert query to go here --->
<cfreturn returntext>
</cffunction>
更新:我通过在CFC中使用deserializeJSON()方法来解码从javascript接收的json,从而解决了这个错误