小编典典

用jQuery Ajax传递数据

ajax

我总是收到“错误”警报,但我无法弄清楚出了什么问题。我只是想取回我发送的字符串(“
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进行测试,然后将其留在了里面)


阅读 226

收藏
2020-07-26

共1个答案

小编典典

您需要将数据作为字符串/ 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');
    }
})
2020-07-26