gpt4 book ai didi

javascript - $.ajax - 发送数据属性对象

转载 作者:行者123 更新时间:2023-12-02 19:55:49 26 4
gpt4 key购买 nike

我正在尝试使用 jQuery 调用 asmx Web 服务方法,并为 data 传递一个实际的 JavaScript 对象,然后获取 JSON。我能得到的最接近的是:

$.ajax({
url: "WebService.asmx/HelloWorld",
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ num: 12, name: "Adam" }),
dataType: "json",
success: function (data) { alert(data.d); }
});

如果首先对我的对象进行字符串化,如何成功进行此调用?

我尝试过这个(删除 contentType)

$.ajax({
url: "WebService.asmx/HelloWorld",
type: "POST",
data: { num: 12, name: "Adam" },
dataType: "json",
success: function (data) { alert(data.d); }
});

但是这会返回 XML 格式的结果,而不是 json。

这是网络方法:

[WebMethod]
[ScriptMethod]
public string HelloWorld(int num, string name) {
return ++num + name;
}

编辑

这是请求 header 的屏幕截图。显然,响应的内容类型设置为 xml。

enter image description here

最佳答案

<删除>设置响应格式: [网络方法] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 公共(public)字符串 HelloWorld(int num, 字符串名称) { 返回++num + 名称; }只是注意:asmx 不会仅针对 GET 和 POST 返回 JSON

<小时/>根据戴夫的评论

It is impossible with the ASMX and ASPX JSON endpoints. They require the application/json Content-Type and a POST request or no JSON.

关于javascript - $.ajax - 发送数据属性对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646366/

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