2011-02-24 86 views
3

我有一個使用JSON2庫序列化的JavaScript對象。然後我試圖將這個JSON字符串傳遞給一個ASP.net web服務。我已經改變了webmethod嘗試幾個不同的參數配置,但他們都導致'500 - 內部服務器錯誤'如何將JSON發送到Asp.NET Webservice?

有人可以給我一個線索嗎?

function postDataToService(data) { 
    $.ajax({ 
     url: "http://localhost:2686/DataCollectionService.asmx/StoreDataOut", 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     data: data, 
     success: showSuccessNotice, 
     error: showFailureNotice, 
     dataType: "json" 
    }); 

} //postdatatoservice 

function convertDataToJSON(jsObj) { 

    return JSON.stringify({ list: jsObj }); 

} //converdatatojson 

Web服務:

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.ComponentModel.ToolboxItem(false)] 
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService] 
public class DataCollectionService : WebService 
{ 

    [WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public string StoreDataOut(List<string> list) 
    { 
     return "Complete"; 
     //model functionality 
    } 
} 
+0

你能檢查事件日誌以獲得異常的詳細信息嗎?或者使用Fiddler或Firebug檢查500響應中的更多細節。 – tjrobinson 2011-02-24 16:03:23

回答

3

我得到了它..

步驟1:我裹在另一個對象的JS對象,它包含一個屬性它與web方法中的參數名稱相匹配。 Notive圍繞

return JSON.stringify({'json':jsObj}); 

步驟2我再連載這個新的 '包裝' 的對象與JSON.stringify引號()。

第3步 web方法中的參數名稱匹配發布的json屬性名稱。類型是'對象'

public string StoreDataOut(object json) 
    { 

    } 
2

我用你提供的代碼,並能夠發佈到web服務沒有問題。

一些問題:

  1. 什麼數據是什麼樣子?
  2. 什麼是500服務器錯誤?你可以直接瀏覽webservice嗎? http://localhost:2686/DataCollectionService.asmx/StoreDataOut
  3. 我注意到您的數據中發送不了您的電話convertDataToJSON()這是一個錯誤嗎?如果不執行類似下面的AJAX後:


$.ajax({ 
      url: "http://localhost:2686/DataCollectionService.asmx/StoreDataOut", 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      data: convertDataToJSON(data), 
      success: showSuccessNotice, 
      error: showFailureNotice, 
      dataType: "json" 
    }); 
相關問題