Wcf Safari没有';t使用xmlhttprequest时设置内容长度

Wcf Safari没有';t使用xmlhttprequest时设置内容长度,wcf,safari,xmlhttprequest,http-content-length,Wcf,Safari,Xmlhttprequest,Http Content Length,我有一个Javascript对象,我正试图使用JSON.stringify()通过XMLHttpRequest()发布到服务器。我的代码在除Safari(5.1.2)之外的所有主要浏览器中都能正常工作。我的分析表明,Safari实际上正在发送数据。我可以在Safari开发者工具中看到消息,我可以在IIS日志中看到接收到的字节,看起来很准确(48kb),但是WCF函数没有获取对象数据。在查看wcf日志时,我发现safari的内容长度为0,chrome的内容长度为0。有人对这个问题有什么见解吗 狩猎

我有一个Javascript对象,我正试图使用JSON.stringify()通过XMLHttpRequest()发布到服务器。我的代码在除Safari(5.1.2)之外的所有主要浏览器中都能正常工作。我的分析表明,Safari实际上正在发送数据。我可以在Safari开发者工具中看到消息,我可以在IIS日志中看到接收到的字节,看起来很准确(48kb),但是WCF函数没有获取对象数据。在查看wcf日志时,我发现safari的内容长度为0,chrome的内容长度为0。有人对这个问题有什么见解吗

狩猎:

<httprequest>
<Method>POST</Method>
<QueryString></QueryString>
<WebHeaders>
<Connection>keep-alive</Connection>
<Content-Length>0</Content-Length>
<Content-Type>application/json</Content-Type>
<Accept>*/*</Accept>
<Accept-Encoding>gzip, deflate</Accept-Encoding>
<Accept-Language>en-US</Accept-Language>
<Authorization>Negotiate TlRMTVNTUA</Authorization>
<Cookie>ASP.NET_SessionId=2ynxibj2jovjo345nckpsskm</Cookie>
<Host>localhost</Host>
<Referer>http://localhost/xRMS.Net/PROFILE/Employee.htm?winid=flENz4mLt1TRBTvL&theme=ThemeDevelopment.css</Referer>
<User-Agent>Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7</User-Agent>
<Origin>http://localhost</Origin>
</WebHeaders>
</httprequest>

邮递
活命
0
应用程序/json
*/*
gzip,放气
恩美
协商TlRMTVNTUA
ASP.NET_SessionId=2ynxibj2jovjo345nckpskm
本地服务器
http://localhost/xRMS.Net/PROFILE/Employee.htm?winid=flENz4mLt1TRBTvL&theme=ThemeDevelopment.css
Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/534.52.7(KHTML,类似Gecko)版本/5.1.2 Safari/534.52.7
http://localhost
铬:

<httprequest>
<Method>POST</Method>
<QueryString></QueryString>
<WebHeaders>
<Connection>keep-alive</Connection>
<Content-Length>48822</Content-Length>
<Content-Type>application/json</Content-Type>
<Accept>*/*</Accept>
<Accept-Charset>ISO-8859-1,utf-8;q=0.7,*;q=0.3</Accept-Charset>
<Accept-Encoding>gzip,deflate,sdch</Accept-Encoding>
<Accept-Language>en-US,en;q=0.8</Accept-Language>
<Cookie>ASP.NET_SessionId=gapksa2mmuh3wcrntz32mipw</Cookie>
<Host>localhost</Host>
<Referer>http://localhost/xRMS.Net/PROFILE/Employee.htm?winid=FTWLXL4b8aTWaaaM&theme=ThemeDevelopment.css</Referer>
<User-Agent>Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2</User-Agent>
<Origin>http://localhost</Origin>
</WebHeaders>
</httprequest>

邮递
活命
48822
应用程序/json
*/*
ISO-8859-1,utf-8;q=0.7,*;q=0.3
gzip,deflate,sdch
嗯我们,嗯,;q=0.8
ASP.NET_SessionId=gapksa2mmuh3wcrntz32mipw
本地服务器
http://localhost/xRMS.Net/PROFILE/Employee.htm?winid=FTWLXL4b8aTWaaaM&theme=ThemeDevelopment.css
Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/535.2(KHTML,如Gecko)Chrome/15.0.874.121 Safari/535.2
http://localhost

因此,要添加更多信息。如果我将url更改为;但是,如果url为,则它可以正常工作。请注意,现代读者来到这里:当前最新版本(Safari 10)似乎从未发送
内容长度
标题(它不会显示在网络选项卡的“请求标题”部分),但是,如果您记录在服务器端接收到的头,您将意识到它确实发送了头。出于某种原因,Safari开发工具不报告内容长度标题。(是的,这是误导和无益的。)如果你在2016年读到这篇文章,那么你可能不会遇到与OP相同的问题。因此,请添加更多信息。如果我将url更改为;但是,如果url为,则它可以正常工作。请注意,现代读者来到这里:当前最新版本(Safari 10)似乎从未发送
内容长度
标题(它不会显示在网络选项卡的“请求标题”部分),但是,如果您记录在服务器端接收到的头,您将意识到它确实发送了头。出于某种原因,Safari开发工具不报告内容长度标题。(是的,这是误导和无益的。)如果你在2016年读到这篇文章,那么你可能不会遇到与OP相同的问题。