大佬教程收集整理的这篇文章主要介绍了jquery – [ScriptMethod(ResponseFormat = ResponseFormat.Json)],大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[WebMethod()] public List<Sample> GenerateSamples(String[][] data) { ResultsFactory f = new ResultsFactory(data); List<Sample> samples = f.GenerateSamples(); return samples; }
返回对象列表,如果我将响应格式更改为JSON,我必须将返回类型更改为字符串,然后如何在我的javascript中访问对象?
目前我在我的JS中调用此Web服务,例如:
$.ajax({ type: "POST",url: "http://localhost/TemplateWebservice/service.asmx/GenerateSamples",data: jsontext,contentType: "application/json; charset=utf-8",dataType: "json",success: function(responsE) { var samples = (typeof response.d) == 'String' ? eval('(' + response.d + ')') : response.d; if (samples.length > 0) { doSomethingHere(samples); } else { alert("No samples have been generated"); } },error: function(xhr,status,error) { var msg = JSON.parse(xhr.responseText); alert(msg.messagE); } });
但我注意到,即使一切正常,eval语句也永远不会被执行,这意味着Web服务总是返回一个字符串!
所以我的问题是,Web服务定义方需要[ScriptMethod(ResponseFormat = ResponseFormat.Json)]吗?
现在的方式,我可以使用samples数组并访问每个对象及其属性,就像我通常在任何OOP代码中一样,这非常方便,一切都没有问题,但我只是想确保我没有丢失我设置的任何东西.
我从Encosia方面采用了将Jquery的ajax与asp.net相结合的基础知识,并没有在那里提到响应类型 – 我在另一个网站上阅读它并且我不确定它是多么重要.
http://www.codeproject.com/KB/webservices/JsonWebServiceJQuery.aspx
列出了asp.net Web服务端的4个不同更改.我只有前2 – 在我的web.config中.服务本身和Sample类在没有任何序列化的情况下实现,但它确实具有属性.我猜这个Web服务默认是JSON吗?只要您的对象具有属性,默认情况下它们是可序列化的?在我读这篇文章之前,这是我的理解.
以上是大佬教程为你收集整理的jquery – [ScriptMethod(ResponseFormat = ResponseFormat.Json)]全部内容,希望文章能够帮你解决jquery – [ScriptMethod(ResponseFormat = ResponseFormat.Json)]所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。