首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取xml响应而不是json

获取xml响应而不是json
EN

Stack Overflow用户
提问于 2014-04-15 21:25:04
回答 2查看 2.5K关注 0票数 0

我正在使用jquery ajax调用我的web服务:

代码语言:javascript
复制
$.ajax({
    type: sType,
    url: "myWebService.asmx",
    cache: serviceCash,
    data: params,
    accepts: {
        text: "application/json"
    },
    contentType: contentType,
    dataType: "json"
    ....

Web服务如下所示:

代码语言:javascript
复制
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetLang(string cLang, string iLangVersion ){
//code to create json string
return jsonResp;
}

当我有类型的时候: POST evertyhing效果很好。

代码语言:javascript
复制
type: "POST",
data: "{ 'clang':'ANG', 'iLangVersion' : '1'}",
contentType:"application/json; charset=UTF-8",
dataType: "json"

响应是纯json:

代码语言:javascript
复制
{"d":"{\"userSettingsData\":{\" ...and so on

当我将请求改为GET方法时:

代码语言:javascript
复制
type: "GET",
data: "clang=ANG&iLangVersion=1",
contentType:"application/x-www-form-urlencoded; charset=UTF-8",
dataType: "json"

响应是xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">{"translation":"\r\n{\"translation\":{\"..and so on

我应该怎么做才能像以前一样得到json格式的响应?因此,我将url编码的数据发送到web服务,作为回报,我希望获得json而不是XML!我已经定义了dataType:"json“-您期望从服务器返回的数据类型,我已经设置了接受类型: accept:{text:”应用程序/json“}-告诉服务器它将接受哪种类型的响应。

但我得到的回报是xml。我应该改变什么?

EN

回答 2

Stack Overflow用户

发布于 2014-04-15 21:31:23

好吧,如果你可以控制发送返回的脚本,你应该发布该代码。如果您无法控制该脚本,那么最好在post请求中设置dataType:"xml“,并以这种方式处理它。

如果没有处理请求的脚本,就不能真正将XML转换为JSON。

票数 0
EN

Stack Overflow用户

发布于 2014-04-15 21:32:57

这取决于服务器端流程是如何编写的,但在第一段代码中,您告诉服务器您需要一个JSON响应:

代码语言:javascript
复制
accepts: {
    text: "application/json"
},

如果您也将其添加到第二个请求中,则可能会起作用。

如果做不到这一点,您将需要更仔细地检查服务器端代码,以查看它使用什么逻辑来确定响应类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23085091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档