Ajax 呼吁 OGRE 转换器
Ajax call for OGRE converter
我正在尝试使用 OGRE 在线转换器将形状文件转换为不同的格式,参考 https://ogre.adc4gis.com/
我正在调用 AJAX 来发送文件并获得响应,但响应显示“无法读取未定义的 属性 'path'”
下面是 ajax 调用的代码片段,其中 s File 是来自文件上传控件的文件。我尝试在 ajax 调用中使用 'data' 的几种方法附加文件(创建 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);
}
});
}
当我对 Postman 进行同样的尝试时,这有效(获取转换后的文件作为响应)[![在此处输入图像描述][1]][1])
[1]: http://i.stack.imgur.com/EJO8T.jpg
您实际上并不是将 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);
}
});
}
我正在尝试使用 OGRE 在线转换器将形状文件转换为不同的格式,参考 https://ogre.adc4gis.com/ 我正在调用 AJAX 来发送文件并获得响应,但响应显示“无法读取未定义的 属性 'path'”
下面是 ajax 调用的代码片段,其中 s File 是来自文件上传控件的文件。我尝试在 ajax 调用中使用 'data' 的几种方法附加文件(创建 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);
}
});
}
当我对 Postman 进行同样的尝试时,这有效(获取转换后的文件作为响应)[![在此处输入图像描述][1]][1]) [1]: http://i.stack.imgur.com/EJO8T.jpg
您实际上并不是将 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);
}
});
}