xml 在 WCF 休息服务响应中被更改 原因
xml gets altered in the wcf rest service response Why?
Followin 是我的操作合约
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/send?canvasbyte={imgbyte}")]
string sendresponse(string imgbyte);
以下是我的操作合同实现,我在这里返回一个相同的参数(字符串(
public string sendresponse(string imgbyte)
{
return imgbyte;
}
我正在使用HTML5客户端应用程序测试此服务,从其java脚本中,我正在发送xmlHttpRequest作为get方法传入 url 的值是画布绘图的数据 URL。
var canvas = document.getElementById('canvasid');
console.log(canvas.toDataURL());
var url = "http://myserverurl.com/ServiceImpl.svc/send?canvasbyte=" + canvas.toDataURL().toString();
var xmlHttp = new XMLHttpRequest();
xmlHttp.onload = function () {
var xmldocument = xmlHttp.responseText;
console.log(xmlHttp.responseText);
};
xmlHttp.open("GET", url, true);
xmlHttp.send();
这是我的客户端代码,画布数据网址是一个大文本值。服务收到并返回相同的东西但是在这里,我对结果进行了一些更改。为什么??我想我在结果中缺少一些"+"号。
加号被浏览器解释为空格。
由于您使用的是 GET 方法,因此您的请求数据最终出现在查询字符串中(如果可以的话,最好使用 POST(。
当数据在查询字符串中时,服务器会自动将 + 更改为空格。
这是一个可能会有更多帮助的线程。
加号登录查询字符串
该代码存在太多问题。
首先,默认 IIS 配置不允许任何长度超过 2000 个字符的 URL。其次,get 需要传递转义值,因此,name=Files/John Doe
变得name=Files%2FJohn+Doe
不仅仅是 + 符号。
尝试将数据发布到您的方法中。
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- 在解析对象.save()中;没有返回任何原因
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- AJAX 中的常见服务器响应页原因
- xml 在 WCF 休息服务响应中被更改 原因
- ajax调用中没有响应状态,不确定原因
- 我有一个这样的JSON响应,由于某种原因,我在访问该值时遇到了麻烦
- 纯HTML的Ajax响应不能添加到IE8中现有的dom元素的原因
- 什么原因导致“;错误:未捕获(承诺中):Url为null的状态为200的响应“”;出现
- 页面无响应的原因是什么?