ASMX方法将XML返回到客户端而不是JSON

在ASMX中编写Web方法,以将JSON数据返回到Angular应用程序。这就是Webmethod的样子

    [WebMethod]        
    [ScriptMethod(UseHttpGet =true,ResponseFormat =ResponseFormat.Json)]
    public MyProjects getReport(int reportId)
    {
    }

这是我从Angular调用它的方式

this.client.get('http://localhost:51071/webservice1.asmx/getReport?reportId=596',{ withCredentials: true,responseType: 'text' })
   .subscribe( (data) => console.log(data));

但是问题是在angular app处接收的数据为XML格式。那就是我在那里指定文本的原因。如果我在那里指定json,则当然会触发错误,指出无效的json数据。

我绝对不知道我做错了什么或更改了什么才能获得纯JSON

这是控制台输出的样子

<?xml version="1.0" encoding="utf-8"?>
<Projects xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
  <Success>true</Success>
  <TotalRecords>391</TotalRecords>
  <Data>
    <ProjectData>
      <ProjectCode>E6012</ProjectCode>
lnlmftutu 回答:ASMX方法将XML返回到客户端而不是JSON

您确定您的IIS配置吗?

打开IIS管理器 显示IIS服务器的属性 单击MIME类型,然后找到带有JSON扩展名的行: 文件扩展名:.json MIME类型:application / json

如果找不到,请创建它。

返回IIS服务器的属性 单击处理程序映射 添加脚本图 请求路径:*。json 可执行文件:C:\ WINDOWS \ system32 \ inetsrv \ asp.dll 名称:JSON

我希望能为您提供帮助

本文链接:https://www.f2er.com/2552750.html

大家都在问