javascript - CSHTML(RAZOR) 中可重用的 ajax 和 javascript 函数
问题描述
我是 js 和 razor 的新手,我的部分代码应该重复,这对我的项目施加了更多的代码行,如果我可以使其可重用,例如 Ajax,我应该在哪里创建一个特定 URL 的 ajax在我需要的时候调用它?在一个单独的剃须刀文件中?在下面的代码中,我有两个点击事件,我的 ajax 调用和 url 正在重复,我想摆脱这个重复:
function seriesClick(e) {
var _clicketBarChart = e.series.categoryField;
$.ajax({
dataType: "json",
type: "POST",
url: "@Url.Action("faultstatistics","Dashbrd")",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ "name": _clicketBarChart }),
success: function (result) {
faultstatChart(result);
}
});
function changeEvent(e) {
var _clicketCellGrid = e.categoryCell;
$.ajax({
dataType: "json",
type: "POST",
url: "@Url.Action("faultstatistics","Dashbrd")",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({"name": _clicketCellGrid }),
success: function (result) {
faultstatChart(result);
}
});
}
解决方案
您必须创建可以处理两种情况的单个方法,请参考此示例(基于您的):
var ajaxHandler = function(targetName) {
$.ajax({
dataType: "json",
type: "POST",
url: "@Url.Action("faultstatistics","Dashbrd")",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({"name": _clicketCellGrid }),
success: function (result) {
faultstatChart(result);
}
});
}
var seriesClick = function(e) {
var targetName = e.series.categoryField;
ajaxHandler(targetName);
}
var changeEvent = function(e) {
var targetName = e.categoryCell;
ajaxHandler(targetName);
}
推荐阅读
- matplotlib - 在 Matplotlib 中使用组合列表的几个带有子图的图形
- c# - WPF XAML 限定属性值导致异常
- java - 无法在浏览器中运行此小程序代码
- android - 将片段添加到片段
- git - Jenkins - 基于推送构建的多分支管道
- kubernetes - 是否可以始终将配置映射安装到 Kubernetes 中的所有 pod
- tensorflow - 随机读取 .h5 文件中的元素而不加载整个矩阵
- javascript - 是否可以在 TypeScript 中使用可以根据输入/输出类型链接的通用装饰器?
- php - 如果用户名/电子邮件错误,PHP 什么也不做
- laravel - 如何在 Laravel 中使用 v-model