javascript - 如何将 JSON 发送到 Asp.NET Webservice?

标签 javascript jquery asp.net ajax json

我有一个使用 JSON2 库序列化的 javascript 对象。然后我试图将此 JSON 字符串传递给 ASP.net web 服务。我已经更改了 webmethod 以尝试几种不同的参数配置,但它们都会导致“500 - 内部服务器错误”

谁能给我一个线索?

 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

网络服务:

 [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
    }
}

最佳答案

我明白了..

第 1 步:我将 JS 对象包装在另一个对象中,该对象包含与 Web 方法中的参数名称匹配的属性。注意

周围的引号
return JSON.stringify({'json':jsObj});

第 2 步 然后,我使用 JSON.stringify() 序列化了这个新的“包装器”对象。

第 3 步 Web 方法中的参数名称与发布的 json 属性名称匹配。类型是“对象”

 public string StoreDataOut(object json)
    {

    }

关于javascript - 如何将 JSON 发送到 Asp.NET Webservice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107063/

相关文章:

asp.net - VB.net如何处理SqlDataReader空值

javascript - 使用 getBoundingClientRect() 数据重新定位项目

Javascript 模板不运行以 '}' 开头的 : SyntaxError: unexpected garbage after function body,

javascript - 悬停时如何以某种方式突出显示表格单元格

javascript - 有没有办法只调整 Chart.js 中图表标题的底部填充?

javascript - Jquery - 不是 "checked"的 SerializeArray() 复选框

javascript - Ajax Php 相关下拉选择 - 如何将城市名称而不是 id 发布到数据库中(从数据提交)?

javascript - jquery 无法识别 html 元素的 id

asp.net - 事务管理器已禁用对远程/网络事务的支持

ASP.NET-使浏览器缓存无效