gpt4 book ai didi

javascript - 从外部 URL 通过 Ajax 调用获取 JSON 数据

转载 作者:行者123 更新时间:2023-12-01 00:16:18 26 4
gpt4 key购买 nike

我想使用 POST 方法调用 Web 服务,这是 url

https://innovation.spa.uvm.mx:22580/webs-images/rest/imagx

由于我工作公司的隐私,我修改了网址,这是一个示例网址,但原始网址具有相同的结构

我已经在 POSTMAN 中使用以下 JSON 字符串完成了此操作:

{
"personid" : "20369"
}

在 POSTMAN 中,它工作正常,我得到 200 OK 状态。

但是在我的 ajax 调用中我收到 500 错误。 net::ERR_ABORTED 500 错误。 这是我的 ajax 调用:

$.ajax({
url: "https://innovation.spa.uvm.mx:22580/webs-images/rest/imagx",
type: "POST",
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({
"personid" : "20369"
}),
success: function(result){
console.log(JSON.stringify(result));
},
error: function(exception){
alert("Error" + exception);
}
});

最佳答案

您不是在发出 POST 请求,而是在发出 GET 请求。

由于 the way it works,JSONP 无法发出 POST 请求.

据推测,Web 服务需要 POST 请求,但由于未收到请求而出现错误。

<小时/>

可能您在其中添加了 jsonp 以试图规避 the Same Origin Policy 。仅当您显式发出请求的 Web 服务支持 JSONP 时,JSONP 才会执行此操作(现在不应该这样做,因为我们有 CORS(它提供了更多控制权,并且没有安全性) JSONP 固有的风险))。

<小时/>

即使您删除了 jsonp,您也声明了 contentType: 'application/json; charset=utf-8',data 的值不是 JSON。如果您将一个对象传递给data,那么 jQuery 将使用 URL 对其进行编码。如果您想发送 JSON,您需要使用 JSON.stringify 自行编码。

关于javascript - 从外部 URL 通过 Ajax 调用获取 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59739270/

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