Followin 是我的 OperationContract
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/send?canvasbyte={imgbyte}")]
string sendresponse(string imgbyte);
以下是我的 OperationContract 实现,我在这里返回相同的参数(字符串)
public string sendresponse(string imgbyte)
{
return imgbyte;
}
我正在使用 HTML5 客户端应用程序测试此服务,从它的 java 脚本中我发送一个 xmlHttpRequest 作为 get 方法在 url 中传递的值是 Canvas 绘图的 DataUrl。
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();
这是我的客户端代码,canvas dataurl 是一个大文本值。服务收到并返回相同的东西但是在这里我对结果进行了一些更改。为什么??我想我在结果中缺少一些“+”号..