在这个问答内容中,我们要求提供一些使用JSONP与.NET交互的jQuery的好例子。
JSONP(JSON with Padding)是一种跨域数据交换的技术,它允许在不同域之间传输数据。在这个例子中,我们将使用jQuery来实现JSONP请求,并在.NET后端处理请求。
以下是一个简单的例子:
using System.Web.Mvc;
public class JsonpController : Controller
{
[HttpGet]
public ActionResult GetData(string callback)
{
var data = new { message = "Hello, jQuery JSONP!" };
if (string.IsNullOrEmpty(callback))
{
return Json(data, JsonRequestBehavior.AllowGet);
}
else
{
return Content(string.Format("{0}({1});", callback, JsonConvert.SerializeObject(data)));
// 或者使用 JavaScriptSerializer:
// return Content(string.Format("{0}({1});", callback, new JavaScriptSerializer().Serialize(data)));
}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSONP Example</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var url = "/Jsonp/GetData";
$.ajax({
url: url,
dataType: "jsonp",
data: {
callback: "myCallback"
},
jsonp: "callback",
success: function(data) {
alert(data.message);
},
error: function() {
alert("Error: JSONP request failed.");
}
});
});
</script>
</body>
</html>
在这个例子中,我们创建了一个名为GetData
的API,它接受一个名为callback
的参数。当请求成功时,它会将数据包装在回调函数中并返回。在前端,我们使用jQuery的$.ajax
方法发起JSONP请求,并指定dataType
为jsonp
。这将触发jQuery发起一个跨域请求,并在请求成功时调用success
回调函数。
这个例子展示了如何使用JSONP与.NET交互,并且可以根据实际需求进行扩展和修改。
领取专属 10元无门槛券
手把手带您无忧上云