在我前面的應用程序的JavaScript,我將數據發送到與此調用阿賈克斯後,一個按鈕被點擊時:如何使異步調用阿賈克斯木偶的Javascript
submit: function(e){
e.preventDefault();
var formData = $('form').serializeArray().reduce(function(a, x) { a[x.name] = x.value; return a; }, {}); // mettre sous format json compréhensible
var coords = this.map.drawLayer
if (typeof(coords) == 'undefined') {
console.log('dessinez qqch')
}
else {
console.log('le traitement commence');
formData['coords'] = coords.getLatLngs();
$.ajax({
url: 'http://127.0.0.1/api/getFormData',
data: JSON.stringify(formData) ,
contentType: "application/json",
type: 'POST',
success: function(response) {
window.location.reload();
console.log(response);
},
error: function(error) {
console.log(error);
}
})};
},
此代碼是searchView.js
我在leafletView.js的其他呼叫AJAX從處理後回收集數據,與此調用AJAX:
$.ajax({
url:'http://127.0.0.1/api/ndviAuto',
success: function(data){
console.log("les données ont été récupérées");
// console.log(data);
_this.mymap.setView([data[0]['coords_center']['lat'], data[0]['coords_center']['lng']], 12);
var mapDataLayer = L.geoJson(data,{
pointToLayer: function (feature, latlng) {
return L.polygon(latlng);
}}).addTo(_this.mymap);
}
});
我想這個調用Ajax來僅執行ŧ他第一個被執行,我知道我必須使用$ .Deferred(),但我不太明白它是如何工作的。
的leafletView在搜索查看創建這樣的:
onShow: function(options) {
this.map = new LeafletView();
this.testCarte.show(this.map);
}
它不工作,語法錯誤,導入無法識別。這個語法看起來不像javascript ... –