从控制器获取结果但 ajax 调用获取错误而不是在 MVC5 和 C# 中成功

基尚

控制器给我结果并TempData["DCFormList"]显示计数3(键、值和成功消息),但在 AJAX 调用中我得到alert("fail").

    public ActionResult INTImportData()
    {
        if (Session["UserLogon"] != null)
        {
            BLINTForms objForm = new BLINTForms();
            objDCFormList = new DCFormList();
            int jobId = Session["Job_ID"] == null ? 0 : (int)Session["Job_ID"];
            ViewBag.jobId = jobId;
            objDCFormList.Form = objForm.GetINTFormTempDataByJobId(jobId);
            TempData["DCFormList"] = objDCFormList.Form;
            return View(objDCFormList.Form);
        }
        else
            return Redirect("~/Account/Login");

    }


function GetINTFormTempData(JobId) {        
    var result = null;
    $.ajax({
        type: "GET",
        url: '/ImportForms/GetINTFormTempDataByJobId',
        data: { jobId: JobId },            
        traditional: false,
        success: function (data) 
            {
                result = data;    
                alert ("JobId");
                LoadINTData(result);               
                if (result.length > 0)
                    $(".upload").show();
                else
                    $(".upload").hide();
            },
        error: function (data) 
        {
            alert("fail");              
            Success = false;
        }

    });


    public List<DCForm> GetINTFormTempDataByJobId(int jobId)
    {
        objDatabaseHelper = new DatabaseHelper();
        List<DCForm> objDCFormList = new List<DCForm>();
        DCForm objDCForm;
        int record = 0;
        try
        {
            objDatabaseHelper.AddParameter("Job_ID", jobId == 0 ? DBNull.Value : (object)jobId);
            DbDataReader reader = objDatabaseHelper.ExecuteReader(BLDBRoutines.SP_GETINTFORMTEMPDATA, CommandType.StoredProcedure);
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    objDCForm = new DCForm();
                    objDCForm.SerialNo = ++record;                        
                    objDCForm.PayerId = reader.IsDBNull(reader.GetOrdinal("PayerId")) ? 0 : reader.GetInt32(reader.GetOrdinal("PayerId"));                      
                    objDCFormList.Add(objDCForm);
                }

            }
            return objDCFormList;
        }
        catch (Exception exce)
        {
            throw exce;
        }
        finally
        {
            if (objDatabaseHelper != null)
                objDatabaseHelper.Dispose();
        }
    }

public class DCForm : DataOperationResponse
{
    public int SerialNo { get; set; }
    public int PayerId { get; set; }


public class DCFormList : DataOperationResponse
{
    private List<DCForm> _form = null;

    public DCFormList()
    {
        if (_form == null)
            _form = new List<DCForm>();
    }

    public List<DCForm> Form
    {
        get { return _form; }
        set { _form = value; }
    }
}
阮贤

我刚刚试图重现你的情况。这里是示例代码。您可以更新您的代码以从我的代码中获取数据库。

您的控制器:

public class ImportFormsController : Controller
    {
        public JsonResult INTImportData(int jobId)
        {
            //if (Session["UserLogon"] != null)
            //{
            BLINTForms objForm = new BLINTForms();
            var objDCFormList = new DCForm.DCFormList();
            //int jobId = Session["Job_ID"] == null ? 0 : (int)Session["Job_ID"];
            //ViewBag.jobId = jobId;

            objDCFormList.Form = objForm.GetINTFormTempDataByJobId(jobId);
            //TempData["DCFormList"] = objDCFormList.Form;
            //Response.StatusCode = (int)HttpStatusCode.OK;
            return Json(objDCFormList.Form, JsonRequestBehavior.AllowGet);
            //}
            //else
            //return Json("Login required", JsonRequestBehavior.AllowGet);

        }

    }

    public class BLINTForms
    {
        public List<DCForm> GetINTFormTempDataByJobId(int jobId)
        {

            List<DCForm> objDCFormList = new List<DCForm>();
            DCForm objDCForm;
            int record = 0;
            try
            {
                for (var i = 0; i < 5; i++)
                {
                    objDCForm = new DCForm();
                    objDCForm.SerialNo = ++record;
                    objDCForm.PayerId = 100;
                    objDCFormList.Add(objDCForm);
                }


                return objDCFormList;
            }
            catch (Exception exce)
            {
                throw exce;
            }
            finally
            {

            }
        }
    }

    public class DCForm : DataOperationResponse
    {
        public int SerialNo { get; set; }
        public int PayerId { get; set; }


        public class DCFormList : DataOperationResponse
        {
            private List<DCForm> _form = null;

            public DCFormList()
            {
                if (_form == null)
                    _form = new List<DCForm>();
            }

            public List<DCForm> Form
            {
                get { return _form; }
                set { _form = value; }
            }
        }
    }

    public class DataOperationResponse
    {
        //public string Message { get; set; }
    }

我在 HomeController:Index 中使用 Index.cshtml 创建了一个测试

<input type="text" id="jobId"/>

<button onclick="GetINTFormTempData($('#jobId').val())">Get Data</button>

<script>

    function GetINTFormTempData(JobId) {
        var result = null;
        $.ajax({
            type: "GET",
            url: '/ImportForms/INTImportData', //**change url**
            data: { jobId: JobId },
            traditional: false,
            success: function(data) {
                result = data;
                alert("JobId");
                alert(JSON.stringify(data));
                LoadINTData(result);
                if (result.length > 0)
                    $(".upload").show();
                else
                    $(".upload").hide();
            },
            error: function(data) {
                alert("fail");
                Success = false;
            }

        });
    }
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未从JSON AJAX发布中调用MVC5控制器操作

来自分类Dev

如何通过从angularJS控制器到MVC5控制器的Ajax调用获取JSON

来自分类Dev

在 MVC5 中回发后无法获取控制器中按钮的值

来自分类Dev

在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

来自分类Dev

在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

来自分类Dev

AngularJS指令从控制器中的Ajax调用获取数据

来自分类Dev

如何将ajax结果获取到Angular中的控制器?

来自分类Dev

$ .ajax和C#MVC控制器返回错误或什么都不返回

来自分类Dev

MVC5中的默认控制器和默认操作

来自分类Dev

在MVC5中处理AJAX请求时出现内部服务器错误

来自分类Dev

在mvc5中获取LoginUserId

来自分类Dev

如何获取动态生成的文本框的值,并在mvc4和jquery中向控制器发出ajax请求?

来自分类Dev

如何在我的C#控制器中获取Ajax发布的数组?

来自分类Dev

在MVC5中使用AJAX调用

来自分类Dev

在MVC5中使用Action执行Ajax调用

来自分类Dev

从MVC 4中的数组获取变量并通过jQuery ajax发送到控制器

来自分类Dev

如何使用Ajax在JavaScript中获取MVC控制器json数据

来自分类Dev

从BLL层到MVC5中的控制器的调用函数

来自分类Dev

服务控制器中的成功和错误功能

来自分类Dev

ajax获取对laravel 5控制器的请求在mozilla中不起作用

来自分类Dev

如何使用MVC5从新的ASP身份表中获取UserId和UserName?

来自分类Dev

如何使用MVC5从新的ASP身份表中获取UserId和UserName?

来自分类Dev

在C#中获取所有控制器和动作名称

来自分类Dev

在控制器动作MVC3中获取表单字段和模型数据

来自分类Dev

在控制器动作MVC3中获取表单字段和模型数据

来自分类Dev

使用 jquery 和 ajax 调用从控制器获取 JSON 对象以查看

来自分类Dev

获取Laravel 5中所有控制器和动作的列表

来自分类Dev

如何从控制器Codeigniter中的Ajax获取数据

来自分类Dev

如何通过ajax在控制器的方法中获取数据?

Related 相关文章

  1. 1

    未从JSON AJAX发布中调用MVC5控制器操作

  2. 2

    如何通过从angularJS控制器到MVC5控制器的Ajax调用获取JSON

  3. 3

    在 MVC5 中回发后无法获取控制器中按钮的值

  4. 4

    在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

  5. 5

    在jquery ajax的错误功能中从控制器获取数据-Asp.net MVC

  6. 6

    AngularJS指令从控制器中的Ajax调用获取数据

  7. 7

    如何将ajax结果获取到Angular中的控制器?

  8. 8

    $ .ajax和C#MVC控制器返回错误或什么都不返回

  9. 9

    MVC5中的默认控制器和默认操作

  10. 10

    在MVC5中处理AJAX请求时出现内部服务器错误

  11. 11

    在mvc5中获取LoginUserId

  12. 12

    如何获取动态生成的文本框的值,并在mvc4和jquery中向控制器发出ajax请求?

  13. 13

    如何在我的C#控制器中获取Ajax发布的数组?

  14. 14

    在MVC5中使用AJAX调用

  15. 15

    在MVC5中使用Action执行Ajax调用

  16. 16

    从MVC 4中的数组获取变量并通过jQuery ajax发送到控制器

  17. 17

    如何使用Ajax在JavaScript中获取MVC控制器json数据

  18. 18

    从BLL层到MVC5中的控制器的调用函数

  19. 19

    服务控制器中的成功和错误功能

  20. 20

    ajax获取对laravel 5控制器的请求在mozilla中不起作用

  21. 21

    如何使用MVC5从新的ASP身份表中获取UserId和UserName?

  22. 22

    如何使用MVC5从新的ASP身份表中获取UserId和UserName?

  23. 23

    在C#中获取所有控制器和动作名称

  24. 24

    在控制器动作MVC3中获取表单字段和模型数据

  25. 25

    在控制器动作MVC3中获取表单字段和模型数据

  26. 26

    使用 jquery 和 ajax 调用从控制器获取 JSON 对象以查看

  27. 27

    获取Laravel 5中所有控制器和动作的列表

  28. 28

    如何从控制器Codeigniter中的Ajax获取数据

  29. 29

    如何通过ajax在控制器的方法中获取数据?

热门标签

归档