gpt4 book ai didi

javascript - MVC 动态 javascript 与操作调用

转载 作者:行者123 更新时间:2023-12-03 01:10:04 25 4
gpt4 key购买 nike

更改事件上的动态 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/

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