AJAX与json调用ArcGIS服务无法正常工作

时间:2017-01-16 13:11:28

标签: javascript jquery json ajax 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… }

- 编辑

我首先尝试通过OpenLayers3执行此操作,但这样做并不起作用,这就是我现在通过这种方式尝试的原因。 这是我使用thrownError

获得的错误代码
  

SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符

1 个答案:

答案 0 :(得分: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);
    }
  });