繁体   English   中英

如何在 asp.net mvc 中执行 jquery http post req

[英]how to preform jquery http post req in asp.net mvc

我想从视图中向我的 controller 发送一个字符串。 该字符串是网站的名称。

在视图中,用户单击网站名称,我想根据单击的网站名称呈现信息。

我的观点(注意所有网站呈现 100%)

<h1>My Websites</h1>
@{
    foreach (var website in Model.websites)
    {
            <table>
                <tr>
                    <td>  <a  class="websiteLink" href="">@website </a> </td>
                </tr>
            </table>
    }
}

MVC 动作

[HttpPost]
public ActionResult getWebsiteName(string webiste)
{
   
    //return partial view here
    return RedirectToAction("WebsiteOptions", "Home");
}       

js:

 document.querySelectorAll('.websiteLink').forEach(item => {
    item.addEventListener('click', event => {
        var websiteName = item.innerHTML;
        $.post("/Home/getWebsiteName", { WebsiteName: websiteName }, function (data) {
            console.log(data);
        });
        //alert(WebsiteName);
    });
});

当我执行警报 function 以测试它是否正常工作时,单击时会显示正确的网站名称,我只想将单击的网站名称发布到我的 controller 但它不起作用:( 操作中没有任何反应,因为它不起作用..我在那里设置了断点来测试参数是否正确

你的请求应该是这样的:

document.querySelectorAll('.websiteLink').forEach(item => {
    item.addEventListener('click', event => {
        var websiteName = item.innerHTML;
        $.post("/Home/getWebsiteName?website=" + websiteName, function (data) {
            console.log(data);
        });
        //alert(WebsiteName);
    });
});

下面解决了我的问题

document.querySelectorAll('.websiteLink').forEach(item => {
        item.addEventListener('click', event => {

            //storing clicked website name
            var websiteName = item.innerHTML;
            item.style.textDecoration  = "underline";
           


                $.ajax({
                    type: "POST",
                    url: "@Url.Action("getWebsiteName")",
                    dataType: "json",
                    data: { WebsiteName: websiteName },

                    success: function (data) {

                        alert(data);
                    },
                    failure: function (errMsg) {

                        alert(errMsg);
                    }
                });


        });
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM