我正在使用.Net framework 2.0/jQuery来对2.0 Web服务进行Ajax调用.无论我在ajax调用中将contentType设置为什么,服务始终返回XML.我想让它回归Json!
这是电话:
$(document).ready(function() { $.ajax({ type: "POST", url: "DonationsService.asmx/GetDate", data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { // Hide the fake progress indicator graphic. $('#RSSContent').removeClass('loading'); // Insert the returned HTML into the. $('#RSSContent').html(msg.d); } }); });以下是Fiddler中请求标头的样子:
POST /DonationsService.asmx/GetDate HTTP/1.1 x-requested-with: XMLHttpRequest Accept-Language: en-us Referer: http://localhost:1238/text.htm Accept: application/json, text/javascript, */* Content-Type: application/json; charset=utf-8 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; eMusic DLM/4; .NET CLR 2.0.50727) Host: localhost:1238 Content-Length: 2 Connection: Keep-Alive Pragma: no-cache我已经尝试将contentType设置为'text/json'并获得相同的结果.
这是Web服务方法:
_ Public Function GetDate() As String 'just playing around with Newtonsoft.Json Dim sb As New StringBuilder Dim sw As New IO.StringWriter(sb) Dim strOut As String = String.Empty Using jw As New JsonTextWriter(sw) With jw .WriteStartObject() .WritePropertyName("DateTime") .WriteValue(DateTime.Now.ToString) .WriteEndObject() End With strOut = sw.ToString End Using Return strOut End Function 这是它的回报:
{"DateTime":"11/13/2008 6:04:22 PM"} 当我要求Json时,有谁知道如何强制Web服务返回Json?
请不要告诉我升级到.Net Framework 3.5或类似的东西(我不是那么愚蠢).我需要2.0解决方案.
1> Dave Ward..:从ASP.NET 2.0中的ASMX服务返回JSON没有问题.您只需要安装ASP.NET AJAX Extensions.
务必将[ScriptService]装饰添加到Web服务中.这就是指示ASP.NET AJAX框架的服务器端部分为正确形成的请求返回JSON的内容.
另外,如果你在2.0中使用它,你需要在我的例子中从"msg.d"中删除".d". ".d"是3.5附带的安全功能.
2> 小智..:响应包含在一个元素中,因为你的方法说它会返回一个字符串.你可以使用它来发送普通的json,但是你的wsdl会被愚弄(函数是无效但确实响应数据).
[WebMethod(Description="return pure JSON")] public void retrieveByIdToPureJSON( int id ) { Context.Response.Write( JsonConvert.SerializeObject( mydbtable.getById(id) ); }祝你好运,汤姆
顺便说一句:请参阅Newtonoft.Json获取JsonConvert
那么简单.从Function更改为Sub(在Vb.net中)并删除返回但使用response.write输出.两个星期的尝试各种事情来摆脱那个令人讨厌的<?xml version ="1.0"encoding ="utf-8"?>当我做了一个回归.救了我的一天.Tnxs
3> Darko Z..:您需要使用以下内容装饰Web方法:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]你有其余的权利:)
更多信息在Encosia和Andrew Roland的博客编辑:如下所述,这只是.NET 3.5(我没有意识到这一点,我的不好).
'ResponseFormat'枚举仅从3.5开始支持,OP询问如何在FW 2.0中执行.
@Omu原始海报,如提问的人(或在论坛中启动帖子的人)推荐阅读
如何解决《Google协作平台API全文搜索不适用于非西方语言》经验,为你挑选了0个好方法。 ... [详细] 如何解决《opencv中的filter2D真的可以完成它的工作吗?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《为什么普通字符串可以用作文件句柄?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Python中的路径查找效率》经验,为你挑选了0个好方法。 ... [详细] 如何解决《位置"0"(键)中的项目未被删除,为什么?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用交互模式'gitstashapply'》经验,为你挑选了1个好方法。 ... [详细] 如何解决《以root身份运行notify-send》经验,为你挑选了2个好方法。 ... [详细] 如何解决《'require'关键字未被webstorm识别》经验,为你挑选了3个好方法。 ... [详细] 如何解决《什么是从dict中获取项目的简单方法,如果没有找到,可以从另一个dict获得?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《如何中断或去抖inotifywait循环?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《获取numpy1d数组的索引,其中value大于前一个元素》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何通过fiddler2捕获pythonSSL(HTTPS)连接》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何从Racket中的html中提取元素?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Bootstrap模态使滚动条在关闭后消失》经验,为你挑选了2个好方法。 ... [详细] 如何解决《具有通用引用的成员函数模板将不接受左值》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在c中返回char(*)[6]?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《邮件特色图像链接存储在WordPress数据库中的哪个位置?》经验,为你挑选了4个好方法。 ... [详细] 如何解决《androidsqlite查询速度慢》经验,为你挑选了1个好方法。 ... [详细] 如何解决《BasicNetwork.performRequest:http://localhost/database/login.php的意外响应代码403》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何从录制的视频文件中提取音频》经验,为你挑选了1个好方法。 ... [详细]吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1标准库中是否定义了标准输入,输出和错误描述符常量?
- 2如何将单词拆分为双字节,包括重复单词?
- 3为什么CompletableFuture.allOf声明为CompletableFuture <Void>?
- 4如何在matlab中合并两个不同维度的矩阵
- 5如何在不破坏localStorage类型的情况下存储和获取对象?
- 6将Fody.PropertyChanged与MVVMCross一起使用是否安全?是否降低了应用程序的性能?
- 7从一系列较小的实例中推断出一般的类型类实例?
- 8将TransactionScope与实体框架6一起使用
- 9Flask中的WTForms:UndefinedError:'form'未定义
- 10Mysql查询组Concat在单个查询中限制子表的多个记录
- 11xDB不存储任何交互
- 12android.animation和android.transition包之间的主要区别是什么?
- 13在perl中为两个元素使用"map()"有什么意义?
- 14安装ASP.NET和Web Tools 2015后,Visual Studio 2015错误"对象引用未设置为对象实例"(RC1 Update 1)
- 15iOS片段中的Android片段类似于swift
- 16ubuntu上的Java内存不足,但存在大量缓存内存
- 17在ASP.NET MVC 5中粘贴日期格式
- 18在Tensorflow中使用字符串标签
- 19Python 3:图像中最常见的颜色与数据类型匹配
- 20为什么sbt第二次无法运行gui应用程序?
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有