c# – 如何在JSONP响应中管理?

c# – 如何在JSONP响应中管理?,第1张

概述我需要管理像’在我的 JSONP请求中的字符,通过jquery进行Ajax.所以(来自C#)这就是我所做的: myText = "Hello I'm a string";myText.Replace("'", "\'");Response.Write(Request["callback"] + "({ htmlModulo: '" + myText + "'});"); 但在客户端,它破了: 我需要管理像’在我的 JSONP请求中的字符,通过jquery进行AJAX.所以(来自C#)这就是我所做的:

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响应中管理?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1217700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存