Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将空值传递给控制器的AJAX调用_Javascript_C#_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 将空值传递给控制器的AJAX调用

Javascript 将空值传递给控制器的AJAX调用,javascript,c#,ajax,asp.net-mvc,Javascript,C#,Ajax,Asp.net Mvc,我试图使用POST类型的AJAX调用向控制器发送数据,但它向控制器发送空值。通过这段代码,我想在Microsoft Dynamics 365 CRM数据库中创建新记录 var formdata = new FormData(); var rowCount = $(".newRow").length; var projectarray = [];

我试图使用POST类型的AJAX调用向控制器发送数据,但它向控制器发送空值。通过这段代码,我想在Microsoft Dynamics 365 CRM数据库中创建新记录


    
            
            var formdata = new FormData();
            var rowCount = $(".newRow").length;
            var projectarray = [];
           
            var datearray = [];
            var amountarray = [];
            
            for (var i = 0; i < rowCount; i++) {
                
                projectarray[i] = $("#ProjectType_" + i).val();
               
                datearray[i] = $("#ClaimExpenseDate_" + i).val();
                amountarray[i] = $("#Amount_" + i).val();
               
                

            }
            formdata.append("projectarray", projectarray);
           
            formdata.append("datearray", datearray);
            formdata.append("amountarray", amountarray);
           
            
           
            $.ajax({
                url: "@Url.Action("SetClaimDetails", "Claim")",
                type: "POST",
               
                data: formdata,
                
                processData: false,
               
                contenttype: false,
                    
                    success: function (data) {
                        debugger;
                        
                        window.location.href = "ess/claim";
                        
                        alert("Submit Successful!");
                       

                 
                    },
                    error: function (err) {
                        
                        
                        window.location.href = "";
                        alert("Submit Failed!");
                       
                    }
               });
           
        

public ActionResult SetClaimDetails(string projectarray, string datearray, string amountarray)
        {
            try
            {
               
                Entity item = new Entity("bam_expenseclaims");
               

                item["bam_expdate"] = Convert.ToDateTime(datearray);

                item["bam_amount"] = amountarray;

                item["bam_project"] = new EntityReference("new_project", Guid.Parse(projectarray));
                
                


                globalService.Connection.Create(item);

            }
            catch (Exception ex)
            {
                XmlConfigurator.Configure();
                ILog log = LogManager.GetLogger("TechnicalErrorAppender");
                log.Error(string.Empty);
                throw ex;
            }
            
            return View(Constant.CLAIMPATH);

        }

尝试将控制器输入参数更改为-SetClaimDetails(string[]projectarray、string[]datearray、string[]amountarray),并相应地更改控制器内部的代码。ActionResult SetClaimDetails需要3个参数,在AJAX调用期间将它们传入数据。