gpt4 book ai didi

javascript - Jquery中REST服务的AJAX请求,通过URL而不是通过数据对象发送参数时获取响应

转载 作者:行者123 更新时间:2023-11-28 04:24:25 26 4
gpt4 key购买 nike

我正在使用 ajax 请求来调用 REST 服务,并使用 post 方法来传递参数。当我在 REST URL 中传递参数时,我得到了来自 REST 服务的响应,但是当我通过数据对象发送参数时,我没有得到任何响应。我做错了什么吗?

$.ajax({
type: "POST",
url: "myURL?ID=5087&name=hello",
data:{
'id':'5087',
'name':'hello',

},
success: function(msg){
alert('wow' + msg);
}

});

在上面的请求中,如果我从 URL 中删除参数并保持数据对象不变,我不会收到任何响应

最佳答案

您没有做错任何事情,问题是 API 不遵循语义规则。

接收 POST 请求时,数据应通过请求正文发送,但 URL 中可能存在的标识符除外。因此,当您指定 type: 'POST' 并向 data 提供一个对象时,jQuery 将在其中放置您发送的信息。

但是,您调用的 API 正在检索您通过 URL 在 POST 请求中发送的数据,而实际上应该通过 GET 请求来完成。

因此,您必须以 application/x-www-form-urlencoded 格式手动将数据附加到 URL,就像在工作示例中所做的那样。

关于javascript - Jquery中REST服务的AJAX请求,通过URL而不是通过数据对象发送参数时获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45187821/

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