gpt4 book ai didi

javascript - 使用 jquery 从 .cshtml 页面调用 Controller 操作

转载 作者:行者123 更新时间:2023-11-28 21:08:19 24 4
gpt4 key购买 nike

我正在尝试从 jquery UI 对话框调用 Controller 操作。我目前拥有的是这样的:

.html("<p><textarea name=\"TextMessage\" id=\"textItems\" rows=\"10\" cols=\"72\" /><br /><br /><input type=\"button\" style=\"float:right;\" id=\"submitData\" onclick=\"Test()\" value=\"Submit\" /></p>");

我用来调用 Controller 操作的脚本是这个:

<script type="text/javascript">
function Test() {
$ajax({
url: '<%= Url.Action("GetData", "Report") %>',
success: function (data) {
alert(data);
}
});
};
</script>

Controller 操作是这样的:

[HttpGet]
public JsonResult GetData()
{
return Json("success", JsonRequestBehavior.AllowGet);
}

我想知道我是否做错了什么,我正在尝试让它发挥作用,但没有成功。当我尝试通过 http://localhost:1322/Report/GetData 直接启动 Controller 时它工作正常,这意味着脚本设置不正确。

最佳答案

你应该尝试:

url:'@Url.Action("GetData", "Report")'

MVC在寻找 Controller 时会自动将“Controller”添加到第二个参数的末尾。

编辑:

此代码可能有效:

function Test() {
$.ajax({
type: "GET",
dataType: "json",
url: '@Url.Action("GetData", "Report")',
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data);
},
error: function(xhr, status, error) {
alert(error);
}
});
}

编辑2:

更改为使用 Razor 语法,以便此代码可以与 Razor/MVC3 配合使用。

关于javascript - 使用 jquery 从 .cshtml 页面调用 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9330764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com