gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:59:06 25 4
gpt4 key购买 nike

我有一个使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com