Javascript ajax将文本框文本发布到ActionResult asp.net mvc

HTML

  

JSON

 var TextBoxData = { Text: LoginPasswordText.GetValue(), }; function LoginButton1OnClick() { $.ajax({ url: "/Home/MyActionResult", type: "POST", dataType: "json", contentType: 'application/json', data: JSON.stringify(TextBoxData), success: function (mydata) { alert("Success"); } }); return true; } 

MyActionResult

 public ActionResult MyActionResult(string Text) { return view(); } 

上面的代码(Html,Json,MyActionResult)工作得非常好,但它是json数据。

我想将上面的代码作为ajax数据发送。我尝试下面的代码。 但是下面的代码不起作用,如果我点击按钮,我无法发送任何数据,什么都没有。我想念哪里?

  function LoginButton1OnClick() { var TextBoxData = { Text: LoginPasswordText.GetValue(), }; $.ajax({ type: "POST", url: "Home/MyActionResult", data: TextBoxData, success: function () { alert('success'); } }); }  

您不需要包装其他对象。 你也有无效的JavaScript。 在LoginPasswordText.GetValue()调用之后有一个尾随逗号导致javascript错误。 另外,为了检索输入字段的值,您可以使用.val()函数。

因此,只需按原样发送值:

  

这会将字符串值发送到以下控制器操作:

 [HttpPost] public ActionResult MyActionResult(string text) { return View(); }