gpt4 book ai didi

jquery - Url.Action 不适用于 getJSON

转载 作者:行者123 更新时间:2023-12-01 06:22:35 25 4
gpt4 key购买 nike

我在 MVC4 RAZOR View 项目中有以下 jQuery 代码。当我对 url 进行硬编码时,号召性用语方法工作正常。但是当我使用 Url.Action 时,它不起作用。

硬编码方法的结果:http://localhost:64994/Search/GetCostpages/?costPageNumber=111

Url.Action 方法的结果:http://localhost:64994/@Url.Action(%22Search%22,%20%22GetCostpages%22)?costPageNumber=111

需要纠正什么才能使其正常工作?

$(function ()
{
$("#btnCostPageNumberMagnifingLens").click(function ()
{

var costPageNumber = $("#txtCostPageNumber").val();

//$.getJSON('/Search/GetCostpages/',{costPageNumber: costPageNumber},

$.getJSON('@Url.Action("Search", "GetCostpages")',{costPageNumber: costPageNumber},
function (data)
{

alert('Inside Function');

});
});
});

最佳答案

您不能在单独的 javascript 文件中使用服务器端帮助程序。您可以使用 DOM 中的 url。例如,这里您以不显眼的方式 AJAX 化了一些 btnCostPageNumberMagnifingLens 元素。

因此您可以在此按钮上使用 HTML5 data-* 属性来放置所需的 url:

<input type="button" id="btnCostPageNumberMagnifingLens" data-url="@Url.Action("Search", "GetCostpages")" value="some button" />

然后在单独的 javascript 文件中,只需从 DOM 读取它并将其用于 AJAX 请求:

$(function () {
$('#btnCostPageNumberMagnifingLens').click(function () {
var costPageNumber = $('#txtCostPageNumber').val();
var url = $(this).data('url');
$.getJSON(url, { costPageNumber: costPageNumber }, function (data) {
alert('Inside Function');
});
});
});

关于jquery - Url.Action 不适用于 getJSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18693111/

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