0


,我正在尝试在 ajax 调用响应中将字符串从控制器发送到 ajax。但是我的 ajax 没有得到响应的字符串,我在浏览器中看到了原始内容。
实际上,这是我的主要项目的一个简单示例。
我正在使用 ASP.NET Core 进行服务器端编程。这是我的代码:
服务器端:

        public IActionResult addlink(string link)
        {
            return Redirect("/home/showlink?key=" + link);
        }
        public IActionResult showlink(string key)
        {
            return Content("this is content from 2nd controller");
        }

客户端 :

<form>
    <input type="text" id="mainlink"/>
    <button id="btn">submit</button>
</form>
<script>
    $("#btn").click(function () {
        $.ajax({
            type: "POST",
            url: "/home/addlink",
            data: {
                "link": $("#mainlink").val()
            },
            success: function (response) {

                alert(response);
            },
            error: function (xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);
            }
        }
        )
    })
</script>

我在浏览器中看到的内容: 在主项目中,我想将文本从控制器发送到 ajax 调用成功,就这个,请帮助我 :)
我的原始数据

4

2 回答 2

0

尝试返回 Ok ActionResult:

   public IActionResult addlink(string link)
    {
        return Ok("/home/showlink?key=" + link);
    }
于 2020-12-25T20:00:43.953 回答
0

如果给表单中的提交按钮添加ajax,应该防止表单提交的默认行为。

<script>
    $("#btn").click(function (e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "/home/addlink",
            data: {
                "link": $("#mainlink").val()
            },
            success: function (response) {
                alert(response);
            },
            error: function (xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);
            }
        }
        )
    })
</script>
于 2020-12-28T02:35:24.893 回答