我試圖通過休息呼叫更新休息服務中的一些數據。 出於某種原因,我的代碼不能正常工作,我使用的代碼是:AJAX與JSON調用到ArcGIS服務不起作用
var jsonTemp = [{
attributes : {
'objectId' : str.objectid,
'relcp86d_' : str.relcp86d_,
'relcp86d_i' : str.relcp86d_i,
'symbol' : str.symbol,
'polygonid' : str.polygonid,
'scale' : str.scale,
'angle' : str.angle,
'omschrijvi' : str.omschrijvi
},
geometry : {
'x' : str.geometry.flatCoordinates[0],
'y' : str.geometry.flatCoordinates[1]
}
}];
jsonTemp = JSON.parse(JSON.stringify(jsonTemp));
console.log('jsonTemp: ', jsonTemp);
$.ajax({
url: url,
dataType: 'json',
type: 'POST',
data: jsonTemp,
success: function(data) {
console.log('success ', data);
},
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
然後,如果我檢查它看起來像響應某種對象是錯誤代碼,所以我不知道該怎麼做。 錯誤看起來是這樣的:
Error Object { readyState: 4, getResponseHeader: [9]</</<.ajax/jqXHR.getResponseHeader(), getAllResponseHeaders: [9]</</<.ajax/jqXHR.getAllResponseHeaders(), setRequestHeader: [9]</</<.ajax/jqXHR.setRequestHeader(), overrideMimeType: [9]</</<.ajax/jqXHR.overrideMimeType(), statusCode: [9]</</<.ajax/jqXHR.statusCode(), abort: [9]</</<.ajax/jqXHR.abort(), state: [9]</</<.Deferred/promise.state(), always: [9]</</<.Deferred/promise.always(), catch: [9]</</<.Deferred/promise.catch(), 9 meer… }
--edit
我試圖通過OpenLayers3首先要做到這一點,但沒有奏效所以這就是爲什麼我現在通過這種方式嘗試。 這是錯誤的代碼,我開始使用thrownError
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Wha't的API URL您正在使用? –
這是一個本地服務器,我嘗試更新功能,我可以顯示,但你將無法連接:localhosturl/arcgis/rest/services/test/Gelderland/FeatureServer/0/updateFeatures不知道哪個版本可以查看 –
你是什麼:「console.log('jsonTemp:',jsonTemp);」命令輸出? –