javascript - MVC 动态 javascript 与操作调用

标签 javascript asp.net-mvc model-view-controller

更改事件上的动态 JavaScript 未触发我的操作结果如下

public ActionResult About()
        {
            ViewBag.Script = "<input type='text' name='myName' onchange='nameChange(this)' /><br/>" +
                "<script type='text/javascript'>function nameChange(d){" +
                "$('[name=myEmail]').val('');" +
                "$.ajax({type: 'POST', url: '/Home/Search', data: '{name:d}', " +
                "contentType: 'application/json; charset=utf-8', dataType: 'html'," +
                "success: function(data) { $('[name=myEmail]').val(data.toString());            }        });" +
                "}</script>"
                + "<input type='text' name='myEmail' />";
            ViewBag.Message = "Your application description page.";

            return View();
        }

我的 Controller 如下

public ContentResult Search(string name)
        {
            return Content("hello@gmail.com");
        }

但是操作网址没有被识别,有人可以帮助我吗

cshtml

@if (ViewBag.Script != null)
{

    @Html.Raw(ViewBag.Script)

}

最佳答案

使用 contentType: 'application/json; charset=utf-8' 您定义将使用 $.ajax 请求发送 Json,但您没有。您应该通过将 $.ajax 数据 更改为:

来创建 Json 对象:

数据:JSON.stringify({name:d})

您还在 $.ajax 中定义了 POST 事务,因此 Controller 操作应使用 [HttpPost] 属性进行修饰:-

[HttpPost]
public ContentResult Search(string name)
{
    return Content("hello@gmail.com");
}

关于javascript - MVC 动态 javascript 与操作调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52235689/

相关文章:

performance - ASP.NET MVC : Store data in OnActionExecuting and retrieve it in OnActionExecuted in a controller

javascript - Bootstrap DateTime Picker——如何附加 "00"代替秒

javascript - jquery Accordion 动画没有方法

javascript - 为什么我的表单按钮中的数据无法发送到我的 PHP 服务器?

c# - ASP.NET MVC - 操作名称如何影响 url?

php - Joomla 2.5 中基于类别的文章的替代布局

javascript - 如何为多个日期范围选择器进行 Ajax 发布

jquery - 如何获取 editorfor 的值并将该值分配给另一个 editorfor?

c# - Javascript 变量包含 asp.net mvc razor 代码而不是值

java - 使用 MVC Java 显示素数