开发者

Why do ASP.NET JSON web services return the result in 'd'?

I wrote some ASP.NET web services that use JSON encoding, a la:

[WebInvoke()]
[OperationContract]
public int SetInformation(int recordid, string data)
{
    return 42;
}

and the returned JSON is:

{"d": 42}

Why is the parameter named d? Can I control that? Say, to e开发者_如何转开发?

For reference, a few similar questions I've finally been able to dig up:

  • What does .d in JSON mean?
  • How to change ASP.NET WebMethod's 'd' identifier in a JSON response, to a different name?
  • Returning HTML from JSON webservice - what is the ".d"?


This is a "security" feature that prevents the JSON from being returned from being able to be directly executed javascript inside an Eval statement. Or something very similar along these lines.

More information on this topic: http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax/ take a look at the section labeled Waiter, there’s a .d in my msg soup!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜