我需要从一个C# Web服务中获取Json数据。
我知道有几个问题是基于此的,相信我,我已经阅读了很多,但只是更加困惑。这是我所做的:
在我的Web服务中,我包含了:class的[System.Web.Script.Services.ScriptService] 和 method 的[ScriptMethod(ResponseFormat = ResponseFormat.Json,UseHttpGet = true)]
我还使用JavaScriptSerializer()将我的数据转换为字符串
我使用$ .getJSON()调用此服务
如果我不使用它,我会得到一个跨域引用错误。
为了做到这一点,我必须设置我的服务以获取回调函数名,因此我正在传递t his.Context.Request [“callback”] +序列化的Json Data;
但在输出中,我发现它被包装在中
我知道有几个问题是基于此的,相信我,我已经阅读了很多,但只是更加困惑。这是我所做的:
在我的Web服务中,我包含了:class的[System.Web.Script.Services.ScriptService] 和 method 的[ScriptMethod(ResponseFormat = ResponseFormat.Json,UseHttpGet = true)]
我还使用JavaScriptSerializer()将我的数据转换为字符串
我使用$ .getJSON()调用此服务
如果我不使用它,我会得到一个跨域引用错误。
为了做到这一点,我必须设置我的服务以获取回调函数名,因此我正在传递t his.Context.Request [“callback”] +序列化的Json Data;
但在输出中,我发现它被包装在中
< string xmlns="http://XYZ...">
标签内的数据格式符合我的需求。
我也尝试使用以下方式设置内容类型:$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; charset=utf-8"});
,但仍然没有成功。
后来添加:我接受了frenchie的答案,因为我知道这是正确的方法,但我仍然无法使其工作...我只是将webservice和网站放在同一个域中,并使用xml,我知道这不是最好的方法,但我已经花费了两天时间,不能再浪费更多时间。