使用ajax调用后返回视图

时间:2015-12-11 13:36:03

标签: javascript jquery asp.net ajax

我正在使用ajax在数据库中搜索日期来调用该函数。问题是当它应该显示它并且ajax进入错误模式时它给我404结果。 有效的控制器代码

        [HttpPost]
        public ActionResult SearchDate(DateTime date)
        {
         code...
         return View(employees);
        }

ajax代码

function SearchByDate()
        {
            var x = document.getElementById("DateInputField");
            if (x.value != "")
            {
                $.ajax({
                    url: '/Employees/SearchDate',
                    type: 'GET',
                    data: { "date": x.value },
                    error: function (data) {
                        alert('Error!');
                    },
                    succes: function (data)
                    {
                        alert('Succes!');
                    }
                });
            }
            else
            {
                alert('Date not selected!')
            }
        }

我使用断点运行程序并以正确的结果退出,但它没有显示,在开发人员控制台中我得到ERROR 404!未找到!而且ajax返回警报错误。请帮忙! TY

在修复了一些问题之后更新我收到此错误: 未找到“SearchDate”视图或其主视图,或者没有视图引擎支持搜索的位置!

3 个答案:

答案 0 :(得分:3)

有多个错误:

    后端有
  1. [HttpPost],您正在发送GET请求。
  2. 404表示找不到文件,因此您的路径可能不正确。
  3. succes回调应为success
  4. contentType未设置,您可以查看traditional:true,

答案 1 :(得分:2)

使用查询字符串代替从数据参数发送数据。

答案 2 :(得分:0)

更改类型:'GET',数据类型:“html”,然后创建一个局部视图,将其渲染到内部并将控制器中的函数更改为HTTPGET并返回部分视图作为结果!