簡體   English   中英

帶動作調用的MVC動態JavaScript

[英]MVC dynamic javascript with action call

動態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();
        }

我的控制器如下

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' contentType: 'application/json; charset=utf-8'您正在定義要向Json發送$.ajax請求,但不是。 您應該通過將$.ajax data更改為以下內容來創建Json對象:

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

您還已經在$.ajax定義了POST事務,因此Controller Action應該用[HttpPost]屬性修飾:-

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM