当前位置: 代码迷 >> Web Service >> 在2.0停运行的webservice 怎样才能输出json
  详细解决方案

在2.0停运行的webservice 怎样才能输出json

热度:230   发布时间:2016-05-02 02:40:21.0
在2.0下运行的webservice 怎样才能输出json?
前端调用代码如下:

      function exData(url, params, onS, onF) {
        Ext.lib.Ajax.defaultPostHeader = 'application/json';

        var format;
        if (params != null)
          format = {
            headers:{'Content-Type':'application/json;utf-8'},
            url: url,
            method: 'POST',
            params: Ext.util.JSON.encode(params),
            success: onS,
            failure: onF
          };
        else
          format = {
            url: url,
            method: 'POST',
            success: onS,
            failure: onF
          };
        Ext.Ajax.request(format);
      }



        var hello = function() {
          var onS = function(r, o) {
            alert(r.responseText);
          };
          var onF = function(r, o) {
            alert(r.responseText);
          };
          var url = 'wsCategory.asmx/hello';
          exData(url, null, onS, onF);

        };

hello();
=======================================
webservice方法如下:
    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string hello()
    {
      return "hello";
    }

在此方法的类上面已经标有[ScriptService]


------解决方案--------------------
ding
------解决方案--------------------
发现.net自带的ajax.net使用webservice输出的是json,其中关键的就是在请求时:Content-Type:application/json;utf-8
所以我们只要在POST时加上一个Content-Type:application/json;utf-8就可以了

 $.ajax({
   type: "POST",
   contentType:"application/json;utf-8",
   url: "/Server/PicLib.asmx/HelloWorld",
   success: function(msg){
   var json = eval('(' + msg + ')');
  相关解决方案