webservice返回json数据但有xml标头我们如何删除

2024-01-08

我正在使用简单的网络服务“.asmx”。在我的网络服务中返回一些数据,例如:

<?xml version="1.0" encoding="utf-8" ?> 
  <string xmlns="http://tempuri.org/">

{"Table":[{"minlatency":16.0,"Time":"\/Date(1328248782660+0530)\/"},{"minlatency":7.0,"Time":"\/Date(1328248784677+0530)\/"},{"minlatency":13.0,"Time":"\/Date(1328248786690+0530)\/"},{"minlatency":6.0,"Time":"\/Date(1328248788690+0530)\/"},{"minlatency":20.0,"Time":"\/Date(1328248790707+0530)\/"}]}</string>

我在用:

[ScriptMethod(ResponseFormat = ResponseFormat.Json,  XmlSerializeString = false)]

after [webmethod]在我的服务中,它给出了错误ajax callback,我想要json格式的返回值。


几周前我遇到了同样的问题,我发现使用以下内容作为我的服务

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetPointers() {
    DataTable dtmkrs = new DataTable();
    dtmkrs.Load(SPs.GetPointers().GetReader());

    string[][] pointerArray = new string[dtmkrs.Rows.Count][];
    int i = 0;
    foreach (DataRow mkrs in dtmkrs.Rows)
    {
        pointerArray[i] = new string[] { mkrs["LocationID"].ToString(), mkrs["Title"].ToString(), mkrs["Blurb"].ToString(), mkrs["Url"].ToString(), mkrs["LongLatPoint"].ToString() };
        i++;
    }

    JavaScriptSerializer js = new JavaScriptSerializer();
    string strJSON = js.Serialize(pointerArray);
    dtmkrs.Dispose();
    Context.Response.Clear();
    Context.Response.ContentType = "application/json";
    Context.Response.Flush();
    Context.Response.Write(strJSON);
}

和以下 javascript(使用 mootools)

new Request.JSON({
url:<url to webservice>,
method: 'GET',
onSuccess: function(resJson, respText) {
        jsonResponse = resJson;
    dropJSON();
}
}).send();

前一个是 ASP.NET C# 中从 SQL Server 数据库获取 Googlemaps 标记的函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webservice返回json数据但有xml标头我们如何删除 的相关文章

随机推荐