gpt4 book ai didi

ASP.NET:jQuery AJAX 'data' 参数问题

转载 作者:行者123 更新时间:2023-12-03 21:57:47 26 4
gpt4 key购买 nike

我在这段代码中遇到了问题,我花了过去 3 个小时的时间进行挖掘并试图找到答案。由于我没有成功,我将只发布代码并询问我的网络服务上应该有哪种参数来处理此请求:

var args = [{ key: 'myId', value: 'myValue' }, { key: 'myOtherId', value: 'myOtherValue'}];
var dataToSend = { name: 'fooId', value: 'fooValue', args: args };
$.ajax({
type: 'POST',
url: 'fooURL',
data: dataToSend,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: OnSuccess,
error: OnError
});

现在,我应该需要哪种签名才能获得我的“dataToSend”?

我已经尝试过:

[WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Foo(string name, object value, List<Args> args)
{
return "OK";
}

public class Args
{
public string key { get; set; }
public object value { get; set; }
}

[WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Foo(string name, object value, object[] args)
{
return "OK";
}

还有

[WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Foo(dataToSend dataToSend)
{
return "OK";
}

public class dataToSend
{
public string name { get; set; }
public object value { get; set; }
public List<Args> args = new List<Args>();

}
public class Args
{
public string key { get; set; }
public object value { get; set; }
}

最佳答案

尝试将数据作为字符串而不是对象传递,即:

$.ajax( {    ...    data : '{ a: 2, b: 3 }',    ...} );

这样做的原因是,如果您指定一个对象作为数据,那么 jQuery 使用查询字符串格式序列化数据,而服务器则直接期望 JSON 格式。

尽管告诉 jQuery 使用 JSON 作为数据类型,还是会发生这种情况 - 它似乎只与结果相关,而不与发送到服务器的请求有效负载相关。

你那里的其他一切对我来说都是正确的。

关于ASP.NET:jQuery AJAX 'data' 参数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1061884/

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