2014-02-25 60 views
0

我试图将json数据作为文本发送到我的MVC4项目中的ajax中的HTTP POST方法。这是我的Ajax代码:ajax http post发送json时发生错误500

function saveService() { 
     var data0 = $("#nameInput").val(); 
     var data1 = generateJSON(); 
     var data2 = $("#wellContainer").html(); 
     var jsondataobject = { name: data0, counter: counter, json: data1, html: data2 }; 
     var stringobject = JSON.stringify(jsondataobject); 
     console.log(stringobject); 

     console.log(data1); 
      $.ajax({ 
       type: 'POST', 
       dataType: 'text', 
       url: "http://localhost:49162/Admin/SaveNewTemplate", 
       data: "jsonData=" + stringobject, 
       success: function (returnPayload) { 
        console && console.log("request succeeded"); 
       }, 
       error: function (xhr, ajaxOptions, thrownError) { 
        console && console.log("request failed"); 
       }, 

       processData: false, 
       async: false 
      }); 
    } 

这是我的控制器方法

[HttpPost] 
public void SaveNewTemplate(String jsonData) 
{ 
    DataAccessLayer DAL = new DataAccessLayer(); 
    DAL.SaveServiceTemplate(jsonData); 
} 

这是我在控制台错误:

POST http://localhost:49162/Admin/SaveNewTemplate 500 (Internal Server Error) 

我stringobject是一个正确的JSON对象转换为一个串。如果我用一些随机文本替换ajax函数中的这个变量,它会起作用。

为什么我得到500错误?

+0

我越来越同类error.Did的你得到这方面的任何解决方案? – user2514925

回答

0

似乎是发送jsondataobject的问题。所有对象应与报价: { “名”:DATA0, “计数器”:计数器, “JSON”:数据1, “HTML”:数据2}

另外: 数据: “jsonData =” + stringobject, 应该是: 数据:stringobject,

(假设变量计数器被正确填充过,因为它不是在代码段中提到)

相关问题