Meteor HTTP 包 - 不允许请求 header 字段

Meteor HTTP package - Request header field is not allowed

url = 'http://api.atompark.com/members/sms/xml.php'
xml = 'some xml'

当我使用 jquery 时,一切都很好:

$.ajax({
  method: 'POST',
  url: url,
  data: xml
}).done(function(r) {
  return log(r);
});

但是当我使用HTTP包时,出现错误:

HTTP.post(url, {
  data: xml
}, function(e, r) {
  return log(r.content);
});

XMLHttpRequest cannot load http://api.atompark.com/members/sms/xml.php. Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

有什么问题吗?

默认的 ContentType 是 x-www-form-urlencoded。

尝试在调用中指定内容类型。试试下面的代码:

HTTP.post(url, {
    data: xml,
    headers: { "Content-Type": "application/xml"}
}, callback);

事实证明,我需要使用 content 而不是 data

HTTP.post(url, {
  content: xml
}, function(e, r) {
  return log(r.content);
});

https://forums.meteor.com/t/solved-http-package-request-header-field-is-not-allowed/18460