В моем HTML я есть эта кнопка:My Call Spring Controller не удалось
<button id="download_button">Confirmer</button>
В моих Js у меня есть этот метод:
$("#download_button").click(function() {
downloadMes();
});
downloadMes: function(){
var sources = this.map.getLayers().getArray().map(function(layer){
var source_url = layer.getSource().getUrls()[0];
var layer_name = layer.getSource().getParams()['LAYERS'];
var request = '?VERSION=1.1.0&OUTPUTFORMAT=CSV';
if(_.includes(this.downloadSources, source_url)){
return source_url + request + '&TYPENAME=' + layer_name;
}
},this);
var sourcesToCall = _.compact(sources);
var jsonfile= {json:JSON.stringify(sourcesToCall)};
$.ajax({
type:'POST',
url: "/downloadCSV",
data: jsonfile,
dataType: "json"
});
}
У меня есть создать Spring Controller -> DownloadCSVController:
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class DownloadCSVController {
@RequestMapping(value = "/downloadCSV", method = RequestMethod.GET)
public void getCSV(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws IOException{
System.out.println("DEBUT TELECHARGEMENT");
// SOME LOGIC
System.out.println("FIN TELECHARGEMENT");
}
}
Когда я нажимаю на моей кнопке у меня есть эта ошибка:
POST http://localhost:8080/downloadCSV 404 (Introuvable)
Что не так?
изменения $ типа АЯКС в JS, чтобы получить или пост весной – matrixguy
, так как вы отправляете данные, вам необходимо изменить метод контроллера для метода = RequestMethod.POST – george