MVC:OnDropDownChange呼叫控制器
MVC: OnDropDownChange call controller
我的控制器上有这个方法
public JsonResult GetPlaceImageUrls(int? id)
{
string[] urls = PlaceService.
GetByID(id, "Images").
Images.Select(i => i.URL).
ToArray();
return Json(urls.First(), JsonRequestBehavior.AllowGet);
}
我确信它会返回我想要的数据。我把onchange = "OnPlaceChange()"放在我的下拉菜单上,我也确定onchange事件正在被触发。但是我想做的是:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
function OnPlaceChange() {
var pid = document.getElementById("s_place").value;
$.ajax({
url: "admin/BlogEntries/GetPlaceImageUrls/" + pid,
type: "GET",
dataType: JSON,
success: function (data) {
window.alert(data);
}
});
}
</script>
}
但这行不通。我在控制器上放置了一个断点,但它没有被命中。有什么想法吗?问候。
更新
url: "/GetPlaceImageUrls/" + pid,
更改 AJAX URL 解决了非命中断点问题。但是现在,成功功能不起作用。
首先,问题是 ajax URL,解决方案包含在问题中。成功函数的主要问题是没有得到的是它将数据视为JSON,因为我在ajax上添加了"数据类型:JSON"。但是,我的控制器方法返回一个字符串数组。所以删除数据类型:JSON 解决了我的问题。我相信"数据类型:文本"也会做同样的伎俩。
相关文章:
- 使用 AJAX 的呼叫控制器
- 无法更改呼叫另一个控制器
- 在控制台中隐藏AJAX控制器调用
- MVC:OnDropDownChange呼叫控制器
- 在控制台中列出正在运行的控制器实例及其 this 变量
- 如何使用 ExtJS 4 中控制器的控制方法更改范围
- $stateprovider控制器中的呼叫服务
- 角度方法在服务呼叫后未在控制器中触发
- 呼叫控制器's方法
- 路由加载时运行成员控制器函数以设置控制复选框的属性
- 使用单个控制器控制多个html5音轨
- 控制控制器显示的角度
- 从Angular控制器控制SoundCloud js sdk
- 访问控制导致不同呼叫出现问题
- 为什么从AngularJS'内部加载时谷歌图不工作;s控制器.浏览器变白,控制台中没有任何错误
- 如何在angular控制器中控制服务器响应
- Angular控制器不控制日志数据.然而,Service正在传递数据
- Vimeo内嵌视频自定义控制器(全屏和音量控制)在media element js中不起作用
- 插入部件时无需呼叫把手助手或带插座的控制器
- 未调用控制器.控制台上没有错误