2015-12-30 95 views
1

我有一个ajax方法,我需要将这些数据发送到我的控制器。但是,我不知道如何将这些数据接收到我的控制器。如何从视图接收控制器

$.ajax({ 
      url: "/art/Ajouter", 
      type: "POST", 
      dataType: 'json', 
      data : { 
         "Num": Numm, 
         "cl" : cl, 
         "global" : global 
        }, 
      success: function (responseText) { 
         debugger; 
         if (responseText == "True") { 
          alert("Succes"); 
         } 
         else { 
          alert("error"); 
         } 
        } 
     }); 

,这我如何创建变量全球

var global = []; 
      function GetValues() { 
       debugger; 
       var myList = $("#multiSelect"); 
       var yy = $("#article").val(); 

       var Selectedelement = $("#quantiCommande").val(); 

       myList.append('<option value=' + Selectedelement + '>' + Selectedelement + " " + yy + '</option>'); 
       global.push({ "id": yy, "qte": Selectedelement }); 

      } 

我加个班:

public class products 
    { 
     public int Id { get; set; } 
     public string qte { get; set; } 
    } 

,这是我的控制器的代码

public Boolean Ajoutercommande(string Num, int cl, string global) 
     { 

      CRUDEntities db = new CRUDEntities(); 
      Commande c = new Commande(); 
      c.NumCommande = Num; 

      JavaScriptSerializer js = new JavaScriptSerializer(); 
      products[] persons = js.Deserialize<products[]>(global); 
      c.Quantité = cl; 
      db.Commande.Add(c); 
      db.SaveChanges(); 
      return true; 
     } 

和这是javascript中表格全局的形式enter image description here

+0

在您的MVC/API中创建一个映射到您的参数的DTO。另外,您需要将帖子的内容类型设置为text/json。 – jpgrassi

+0

显示你的控制器动作 –

回答

0

删除数据类型:JSON

这将导致如果控制器不返回JSON数据

调用失败
$.ajax({ 
     url: "/art/Ajouter", 
     type: "POST", 
     data : { 
        "Num": Numm, 
        "cl" : cl, 
        "global" : global 
       }, 
     success: function (responseText) { 
        debugger; 
        if (responseText == "True") { 
         alert("Succes"); 
        } 
        else { 
         alert("error"); 
        } 
       } 
    }); 

你的控制器将需要接受传送的数据:

public Boolean Ajoutercommande(string Num, int cl, products[] global) 
+0

这确实意味着控制器无法接受数据类型:json steve? – darkrez

+0

不可以。如果您省略了数据类型,那么可以将json传递给控制器​​,并且控制器可以返回纯文本内容,这就是您的Ajax调用期望返回的内容。如果指定数据类型:json,那么Ajax预计发布数据和返回类型都是json。 –

+0

我有一个问题,全局始终为空,我添加了我如何在此表中添加的代码 – darkrez

相关问题