我正在尝试使用OGRE在线转换器将shapefile转换为不同的格式,引用https://ogre.adc4gis.com/ 我正在进行AJAX调用以发送文件并获得响应,但响应显示"无法读取属性'路径'未定义"
以下是ajax调用的代码片段,其中sFile是文件上传控件中的文件。我尝试在几种方法中附加文件以获取数据'在ajax调用中(创建FormData对象,创建对象等),但我得到了同样的错误。
function shapeFileProcessing(sFile){
var formdata = new FormData();
formdata.append("upload", sFile);
var obj = {};
obj.upload = sFile;
$.ajax({
url : 'http://ogre.adc4gis.com/convert',
data : obj,
type : "POST",
success : function(msg) {
console.log("Success: "+msg);
}
});
}
答案 0 :(得分:1)
您实际上并未将formdata
附加到AJAX请求,而是另一个对象:
data : obj
然后你还需要做的是定义它以防止Uncaught TypeError: Illegal invocation
:
processData: false,
contentType: false,
更正的功能:
function shapeFileProcessing(sFile){
var formdata = new FormData();
formdata.append("upload", sFile);
$.ajax({
url: 'https://ogre.adc4gis.com/convert',
data: formdata,
type: "POST",
processData: false,
contentType: false,
success: function(msg) {
console.log("Success: "+msg);
}
});
}