问题描述
以前都是用Jquery框架很方便...现在用纯javascript实现...返回的一直都是xml类型的....求解..[WebMethod][ScriptMethod(ResponseFormat=ResponseFormat.Json)]publicstringLogin(stringUserName,stringPassword,stringIsCheck){Dictionary<string,string>d=newDictionary<string,string>();JavaScriptSerializerJsonSerializer=newJavaScriptSerializer();//为Javascript启用反序列化this.Context.Response.ContentType="application/json";this.Context.Response.BufferOutput=true;d.Add("key","value");stringretd=JsonSerializer.Serialize(d);returnretd;//this.Context.Response.Cookies.Add}
上面是方法....[WebService(Namespace="http://tempuri.org/")][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)][System.ComponentModel.ToolboxItem(false)]//若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。[System.Web.Script.Services.ScriptService]
类的头部....我使用的.NET3.5在配置文件中应该不要改吧..XMLHttpRequest对象是已经设置了Content-Type为text/json(设置为application/json;utf-8也是一样的),通过getAllRequestHeaders方法获取是Content-Type一直为text/xml怎么设置都不行...希望哪位高人能详细解答下,,最好是从原理层解答!!!!!!!
解决方案
解决方案二:
...自己来拉人气.....每人在?
解决方案三:
....................大家帮忙解答下啊..
解决方案四:
楼主究竟是要获取数据啊,还是要传递数据?http://baike.baidu.com/view/1105115.htmXMLHttpRequest.setRequestHeader()语法 setRequestHeader(name,value)name参数是要设置的头部的名称。这个参数不应该包括空白、冒号或换行。 value参数是头部的值。这个参数不应该包括换行。说明 setRequestHeader()方法指定了一个HTTP请求的头部,它应该包含在通过后续send()调用而发布的请求中。这个方法只有当readyState为1的时候才能调用,例如,在调用了open()之后,但在调用send()之前。 如果带有指定名称的头部已经被指定了,这个头部的新值就是:之前指定的值,加上逗号、空白以及这个调用指定的值。 如果open()调用指定了认证资格,XMLHttpRequest自动发送一个适当的Authorization请求头部。但是,你可以使用setRequestHeader()来添加这个头部。类似地,如果Web服务器已经保存了和传递给open()的URL相关联的cookie,适当的Cookie或Cookie2头部也自动地包含到请求中。可以通过调用setRequestHeader()来把这些cookie添加到头部。XMLHttpRequest也可以为User-Agent头部提供一个默认值。如果它这么做,你为该头部指定的任何值都会添加到这个默认值后面。 有些请求头部由XMLHttpRequest自动设置而不是由这个方法设置,以符合HTTP协议。这包括如下和代理相关的头部: HostConnectionKeep-AliveAccept-charsetAccept-EncodingIf-Modified-SinceIf-None-MatchIf-RangeRange