.NET webservice 跨域问题及ajax请求问题

最近写了一个webservice接口,不知道是webservice一直用于CS端开发还是咋滴,TMD,用于AJAX请求遇到了各种问题。

首先就是webservice的跨域问题,起初并不知道原来ajax的url的请求还分是在项目内还是http请求(这好像就是跨域的问题),这个跨域问题需要前端与后端同时协作。

.NET的webservice的跨域配置问题:

跨域配置一共有两个,如果只有第一个,你会遇到,直接在浏览器输入服务地址能返回数据,但是通过ajax请求就是没有结果,而且直接进入错误代码,让人很是恶心的问题,这个问题曾经整到了晚上11点。

    <webServices>
      <protocols>
        <add name="HttpPost"/>
        <add name="HttpGet"/>
        <add name="HttpSoap"/>
        <add name="Documentation"/>
        </protocols>
      </webServices>

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
        <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>
跨域的ajax请求的问题,这个问题主要集中在返回值这块,如果不是取response.d你会发现你返回的是一堆没用的xml格式的文件,直接找也找不着数据具体在哪

 $.ajax({
                type: "get",
                url:"http://116.62.116.110:8099/HeNanWebService.asmx/GetModelsInfoByType",
                jsonp: 'jsoncallback',
                data: "modetype=环境容量&ObjId=1085",
                dataType: "text",
                success: function (result) {
                    //返回结果  
                    alert(result);
                },
            });    
.NET 的webservice传参调用也是个坑啊!!!!

最后附上webservice的接口示例

        [WebMethod]
        public string GetShapeByRiverObjId(string objid)
        {
            string myConn = ConfigurationManager.AppSettings["Connection_string"].ToString();
            DBFunctions dbHelper = new DBFunctions();
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select st_astext(shape) as shape from space_shuiti_lunkuo where objid="+ objid + "");
            DataSet ds = dbHelper.ExecuteQuery(myConn, CommandType.Text, strSql.ToString(), null);
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(ds.GetXml());
            string strJson = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doc);
            return strJson;
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值