webservice 返回json多出一个{"d":null}

qq307269906 2016-04-08 08:43:42
webservice 返回json多出一个{"d":null},如下
{
"Response": null,
"Code": 2,
"Message": "工作名称已存在"
}{"d":null}

后台是这么写的
public void ReturnMsg()
{
var response = HttpContext.Current.Response;
response.ContentType = "application/json;";
response.BinaryWrite(System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(this)));
}
哪里出错了啊?
...全文
3208 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrsanny 2016-08-30
  • 打赏
  • 举报
回复
如果你的webservice,用的response.write直接写,而不是有返回值的那种,用ajax访问接口,返回串的后面跟着{"d":null}。 解决办法:1、#2楼的办法,可行。但是对于跨域,只能用jsonp解决,设置header的方式不行。 2、post方法的时候,试试提交表单的方式,而不是application/json方式。 { dataType: "text", contentType: "application/x-www-form-urlencoded;charset=utf-8", data:"key=val&key2=val2" }
wdh123love 2016-06-02
  • 打赏
  • 举报
回复
你可以试试在BinaryWrite方法运行之后,加个response.End();试试
wdh123love 2016-06-02
  • 打赏
  • 举报
回复
没用过BinaryWrite,不知道这个写完是不是就直接返回了,如果写完之后还继续运行。那就可能会出现楼主的这种情况,因为在别的地方,又写进了一个json字符串({"d":null})
海阔天空9354 2016-05-23
  • 打赏
  • 举报
回复
楼主解决没?我也遇到了
lutaotony 2016-05-23
  • 打赏
  • 举报
回复
返回出来的值先看看,应该是代码问题
aliangyouxiang 2016-05-05
  • 打赏
  • 举报
回复
public void ReturnMsg() 把void修改为string 试试
  • 打赏
  • 举报
回复
球问题解决办法?楼主最后找到问题所在了吗?

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧