myText = "Hello I'm a string";myText.Replace("'","\'");Response.Write(Request["callback"] + "({ HTMLModulo: '" + myText + "'});");
但在客户端,它破了:
parsererror - SyntaxError: missing } after property List
所以,我如何管理’如果替换不起作用?
解决方法 .NET已经为您解决了序列化JsON问题.使用System.Web.Script.Serialization.JavaScriptSerializer
: var serializer = new JavaScriptSerializer();
要构造JsONP,您只需要连接前缀(硬编码或传入“回调”查询参数)和后缀(通常只是),但有时您可能需要根据调用者的期望传递额外的参数,42,null)) JsON文本.
下面的示例显示了基于“callback”参数构造JsONP,根据您的需要替换JsonpPrefix的值.
var myText = "Hello I'm a string";var JsonpPrefix = Request["callback"] + "(";var JsonpSuffix = ")";var Jsonp = JsonpPrefix + serializer.Serialize(new {HTMLModulo = myText}) + JsonpSuffix);Response.Write(Jsonp);
您应该始终使用序列化程序,因为自己动手意味着您更有可能陷入困境并违反JsON规范.例如,您没有引用密钥,即required by JSON,因此jquery和其他JsON解析器将非常混淆.它还将处理所有需要转义的字符.
有关构建JsON的更多信息,请参见How to create JSON string in C#.
总结以上是内存溢出为你收集整理的c# – 如何在JSONP响应中管理?全部内容,希望文章能够帮你解决c# – 如何在JSONP响应中管理?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)