在C#中,通過JSON Callback可以實現(xiàn)跨域請求,并且可以在客戶端與服務(wù)器之間傳遞數(shù)據(jù)。
首先,我們需要引入Newtonsoft.Json包,以便在代碼中序列化和反序列化JSON數(shù)據(jù):
using Newtonsoft.Json;
接下來,我們可以創(chuàng)建一個類用來處理JSON Callback請求:
public class JsonCallbackHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { string callback = context.Request["callback"]; string data = JsonConvert.SerializeObject(new { Name = "John", Age = 30 }); context.Response.ContentType = "application/javascript"; context.Response.Write(callback + "(" + data + ")"); } public bool IsReusable { get { return false; } } }
在該類中,我們首先獲取請求中的callback參數(shù),然后使用JsonConvert.SerializeObject方法將數(shù)據(jù)序列化為JSON格式,并將其添加到callback函數(shù)中返回給客戶端。
最后,在Web.config文件中添加以下配置項即可啟用JSON Callback功能:
需要注意的是,對于JSON Callback請求,服務(wù)器端返回的ContentType應(yīng)該為“application/javascript”。