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

标签 javascript jquery ajax mule httplistener

我正在 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/

相关文章:

jquery - .ajax 成功函数有两个参数?

javascript - Angular 范围不打印变量

asp.net - 如何在 asp.net 母版页中插入 javascript

JavaScript 在生成的页面上不起作用

javascript - 从 Javascript 调用 ASP.NET C# Controller 方法

javascript - jsonp jquery获取instagram结果无法读取未定义的属性 'link'

xml - 使用 XML 进行 Ajax 响应与普通 HTML

javascript - 无法使用 firebase 检索特定子项的值

javascript - jQuery Mobile 1.4.2 + Photoswipe 将所有链接与其自身关联起来

jquery - 如何在 div 中改变 div 的样式(背景颜色)