Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有动作调用的MVC动态javascript_Javascript_Asp.net Mvc_Model View Controller - Fatal编程技术网

带有动作调用的MVC动态javascript

带有动作调用的MVC动态javascript,javascript,asp.net-mvc,model-view-controller,Javascript,Asp.net Mvc,Model View Controller,动态JavaScript on change事件未触发我的操作结果如下 public ActionResult About() { ViewBag.Script = "<input type='text' name='myName' onchange='nameChange(this)' /><br/>" + "<script type='text/javascript'>function

动态JavaScript on change事件未触发我的操作结果如下

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();
        }
public ContentResult Search(string name)
        {
            return Content("hello@gmail.com");
        }
但是动作url没有被识别,有人能帮我吗

cshtml

@if (ViewBag.Script != null)
{

    @Html.Raw(ViewBag.Script)

}

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

data:JSON.stringify({name:d})

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

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

这不是Javascript。也许您忘记添加Typescript标记了?没有Typescript jquery/Javascript您显示的代码肯定不是Javascript。Javascript没有类型,也没有
public
private
void
。我说的是MVC,我将它绑定在cshtml页面上。为什么您要以这种方式发送脚本,而不是使用单独的.js文件?通过visual studioHi编写和调试一个单独的文件更简单、更容易,但我不会将搜索函数的名称设为null。获取它
d.value
给了我预期的结果