2014-02-25 107 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,

(假設變量計數器被正確填充過,因爲它不是在代碼段中提到)

相關問題