ArcGIS REST Server 报错Unable to complete operation. error: Some parameters could not be recognized.

  刚开始接触ArcGIS for javascript。 根据 ArcGIS rest API 编辑图形并保存到服务端,但是一直添加失败,返回错误信息为:Unable to complete operation. Parser error: Some parameters could not berecognized。


  我的数据格式为:

[{"geometry": {"x":117.87768878353297,"y":38.05192664561836},"attributes" : {"GIS_RESMAP_ID":222222,"OBJECT_LABEL":"yuyuyu"}}]

是一个标准的json格式串,调用 ArcGIS rest server  http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/0/addFeatures 

测试添加时也能正常添加。

  但是在我自己写的ajax通讯时添加失败。我的通讯部分代码是:

var restURL="http://14.49.20.16:8080/arcgis/rest/services/sd.ziyuan/SDZYGL/FeatureServer/0/addFeatures";//构建的REST URL
             request.open("POST",restURL,true);//请求对象初始化连接
             request.onreadystatechange=processResponse;//设置服务器响应请求后的回调函数
             request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");               
             request.send(graphicStr);//发送数据

    路径没错,数据格式没做,就是添加不成功,搞的我很郁闷,我怀疑是数据传递是出现了问题或者是还缺少什么设置,服务端一般不会出什么问题,所以问题应该还是在我这边。经过几次测试,我发现一个问题,用自己程序添加时传递的数据与用服务自带页面添加时传递数据格式不一样。下面为google chrome 截图:




  我看了一下API,gdbVersion :server端数据库版本,roobackOnfailure:添加失败是否回滚。

  f:pjson:应该是数据格式要求。 但是问题是这个f:pjson应该添加在什么位置,如何添加? 


  结合了国外的一片文章:http://gis.stackexchange.com/questions/34735/invalid-parameters-on-arcgis-rest-api-used-from-silverlight 关键部分截图:


我将我的数据json数据格式改成他的格式。结果添加成功!


  我擦! 不知道是我打开的方式不对还是我和我小伙伴没找仔细,但是在官网上确实没找到在哪里设置这个东西!!

  不管怎样, 问题总算是决绝了。 至于是不是标准写法或者是合不合规范我也不知道。

  

  特意回来总结记录一下,共需要的朋友参考。如果哪位高手愿意指点,在下不甚感激........


*********************** ajax 原始写法**************************

var request=null;
      //根据不同浏览器创建请求对象
      function createRequest()
     {
         try{
         request=new XMLHttpRequest();
         }
         catch(trymicrosoft)
         {
             try{
                 request = new ActiveXObject("Msxm12.XMLHTTP");
                 }
             catch(othermicrosoft)
             {
                 try{
                     request = new ActiveXObject("Microsoft.XMLHTTP");
                     }
                     catch(faild)
                     {
                     request=null;
                     }
             }
         }
         if(request==null)
             alert("创建request对象失败");
     }
     
     // 与 ArcGIS rest server 通讯
     function sendRESTrequest(evt)
     {
         createRequest();
         var restURL="http://10.249.20.216:6080/arcgis/rest/services/sd.ziyuan/SDZYGL/FeatureServer/0/addFeatures";//构建的REST URL
             request.open("POST",restURL,true);//请求对象初始化连接
             request.onreadystatechange=processResponse;//设置服务器响应请求后的回调函数
             request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                         
             request.send(graphicStr);
      }
     function processResponse()
     {    
         if(request.readyState==4)//就绪状态(ready state)有4个值“1:连接刚被初始化;
          {                       //2:正在处理请求;3:服务器快要完成请求;4:请求完成,浏览器得到响应”
              //返回的是一个文本,需要用eval函数转成json对象
              
              var testdiv = document.getElementById("addinfo");
              testdiv.innerHTML=request.responseText;
              alert(request.responseText);
         }
     }

可以直接使用的!








很抱歉听到您遇到了问题。根据您提供的引用内容,您似乎遇到了几个与ArcGIS for Android相关的问题。 引用和引用提到了在下载com.esri.arcgisruntime:arcgis-android:100.5.0时遇到了错误。您可以尝试注释掉该依赖并删除build文件,然后重新运行以解决问题。 引用提到了在移动自有品牌手机A6上无法运行arcgis android 100.1/100.2/100.3版本,并尝试下载arcgis-android:10.2.9版本进行试用。然而,在构建失败时报错Failed to resolve:com.esri.arcgis.android:arcgis-android:10.2.9。 就您提供的错误信息"unable to run c:\program\arcGIS\Bin\ArcGISServer.exe error status:0"而言,这可能是由于ArcGIS Server安装或配置问题导致的。可能需要检查ArcGIS Server的安装状态和配置是否正确,并确保相应的文件路径和权限正确。您可以尝试重新安装或重新配置ArcGIS Server来解决此问题。 如果问题仍然存在,请确保您的环境符合ArcGIS for Android的系统要求,并检查您的依赖项配置是否正确。您还可以查看ArcGIS for Android的文档或联系Esri技术支持获取更详细的帮助和解决方案。 总结起来,您可以尝试以下步骤解决问题: 1. 如果遇到依赖下载错误,尝试注释掉该依赖并删除build文件,重新运行。 2. 检查ArcGIS Server的安装和配置是否正确,并确保相应的文件路径和权限正确。 3. 确保您的环境符合ArcGIS for Android的系统要求,并检查依赖项配置是否正确。 4. 参考ArcGIS for Android的文档或联系Esri技术支持以获取更详细的帮助和解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [解决com.esri.arcgisruntime:arcgis-android:100.5.0下载不下来](https://blog.csdn.net/u013023845/article/details/113986541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Failed to resolve:com.esri.arcgis.android:arcgis-android:10.2.9](https://blog.csdn.net/shuimu_88/article/details/100651828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值