gpt4 book ai didi

javascript - jquery ajax方法请求体为空但postman工作正常

转载 作者:行者123 更新时间:2023-12-03 06:58:41 36 4
gpt4 key购买 nike

我正在 Mule ESB 上配置一项服务,以提供我一直在使用 jQuery 和 jQuery UI 开发的界面。

Mule ESB 包含一个 http 监听器,其方法是“POST”来获取请求正文并对其进行评估,然后给出必要的响应。

这是我通过 POSTMAN 发送的请求:

var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8081/feed",
"method": "POST",
"headers": {
"content-type": "application/json",
"cache-control": "no-cache",
},
"processData": false,
"data": "{\r\n\t\"vibs\": [\r\n\t\t\"TAS2002\"\r\n\t],\r\n\t\"language\": \"de-DE\"\r\n}"
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Mule ESB 和 Web 应用程序运行在不同的 Web 主机(Mule 的 Web 服务器,Web 应用程序的节点 http-服务器)中,我知道这会影响跨域策略...但我不知道如何应该配置我的服务来处理此请求。

Mule 总是收到带有空正文的请求,因为通常当我通过 POSTMAN 发送相同的请求时, postman 会将请求的正文传输到 [#message.payload] 对象中。

当我尝试使用 jQuery ajax 或 javascript XHR 等时,在调试器上它显示请求负载为空。所以我无法评估请求正文...

谁能帮我解决这个问题吗?

顺便说一下,我使用 Mule ESB 3.7.0 作为服务器运行时,使用 jQuery 1.10.2 来使用 ajax。

任何帮助将不胜感激,非常感谢!

最佳答案

尝试使用以下代码

var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8081/feed",
"method": "POST",
"content-type": "application/json; charset=utf-8",
"cache-control" : "no-cache",
"processData": false,
"data": "{\r\n\t\"vibs\": [\r\n\t\t\"TAS2002\"\r\n\t],\r\n\t\"language\": \"de-DE\"\r\n}"
}

$.ajax(settings).done(function (response) {
console.log(response);
});

使用时"headers": {
“内容类型”:“应用程序/json”,
“缓存控制”:“无缓存”,
},

我的日志为 找不到请求的监听器:(OPTIONS)/feed

希望这有帮助。

关于javascript - jquery ajax方法请求体为空但postman工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156335/

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