我总是收到“错误”警报,但我无法弄清楚出了什么问题。我只是想取回我发送的字符串(“ testexpression”)。它必须与数据部分有关,因为没有参数就可以工作。
这是jQuery部分:
<script> $("#meaning").blur(function () { $.ajax({ type: "POST", url: '/GetMeaning/', data: {"expression" : "testexpression"}, contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc }); function successFunc(data, status) { $("#dictionaryDropDown").html(data); } function errorFunc() { alert('error'); } }) </script>
这是控制器:
public class GetMeaningController : Controller { // // GET: /GetMeaning/ [HttpGet] public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(string expression) { return Json(expression, JsonRequestBehavior.AllowGet); } }
(更新:类型为post,我也尝试使用get进行测试,然后将其留在了里面)
您需要将数据作为字符串/ json发送。您正在发送一个javascript对象。另外,该URL可能需要是绝对URL,而不是相对URL
$("#meaning").blur(function () { $.ajax({ type: "POST", url: '/GetMeaning/', data: JSON.stringify({expression: "testexpression"}), contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc }); function successFunc(data, status) { $("#dictionaryDropDown").html(data); } function errorFunc() { alert('error'); } })