C# 为什么如果我用ScriptManager调用Web服务,它会返回json?

C# 为什么如果我用ScriptManager调用Web服务,它会返回json?,c#,.net,xml,json,web-services,C#,.net,Xml,Json,Web Services,我定义了这个脚本管理器: <asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="~/webservices/WSModuloSocial.asmx" InlineScript="true" /> </Services> </asp:ScriptManager> 如果我从使

我定义了这个脚本管理器:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
        <asp:ServiceReference Path="~/webservices/WSModuloSocial.asmx" InlineScript="true" />
    </Services>
</asp:ScriptManager>
如果我从使用它的网站调用WebService函数,它将返回json。 但是,如果我使用jquery从另一个域调用相同的WebService函数,则访问控制允许其上的源策略将返回XML


谁将XML转换为JSON?我应该在哪里转换它呢?

在您对服务器的请求中,您可以指定要返回的内容。服务器可能接受json和xml作为返回类型


在对服务器的请求中,在请求头中指定内容类型

Content-Type: application/json
问题:谁将XML转换为JSON

答:服务器有,但根据您的规格

问题:我应该在哪里转换

答:不需要,只需指定内容类型即可

Content-Type: application/json

可以使用Content-Type头、Accept头或向请求URI添加.xml或.json扩展名来指定请求和响应的格式

如果在标题和/或格式扩展中指定了冲突格式,则以后者为准。XML目前是请求和响应的默认格式

JSON是Windows通信基金会WCF中创建的Script管理器控件使用的默认数据格式。p> 在不与ASP.NET集成的情况下创建Web服务时,也可以使用此格式—在本例中,XML是默认格式,但可以选择JSON