2017-01-16 51 views
0

我試圖通過休息呼叫更新休息服務中的一些數據。 出於某種原因,我的代碼不能正常工作,我使用的代碼是: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

+0

Wha't的API URL您正在使用? –

+0

這是一個本地服務器,我嘗試更新功能,我可以顯示,但你將無法連接:localhosturl/arcgis/rest/services/test/Gelderland/FeatureServer/0/updateFeatures不知道哪個版本可以查看 –

+0

你是什​​麼:「console.log('jsonTemp:',jsonTemp);」命令輸出? –

回答

2

試試這個

$.ajax({ 
    url: url, 
    dataType: 'json', 
    type: 'POST', 
    data: jsonTemp, 
    success: function(data) { 
     console.log('success ', data); 
    }, 
    error:function(jqXHR, textStatus, msg){ 
     console.log('Error ', textStatus); 
    } 
    }); 
+0

其實我只是用類似的方法嘗試過,結果如下: SyntaxError:JSON.parse:JSON數據的第1行第1列的意外字符 因此,它看起來好像根本不像json –