错误:在surveyMonkey API(Javascript)上创建_流

错误:在surveyMonkey API(Javascript)上创建_流,javascript,api,post,xmlhttprequest,surveymonkey,Javascript,Api,Post,Xmlhttprequest,Surveymonkey,我在使用surveyMonkey API时遇到问题。 我可以使用任何公共方法,除了板条箱流和发送流。 这两个问题在控制台中引发了一个错误: 选择权 **MYAPI*596(596)Index.html:61 XMLHttpRequest无法加载**MYAPI*。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。Index.html:61未捕获的NetworkError:未能对“XMLHttpRequest”执行“发送”:未能加载“*

我在使用surveyMonkey API时遇到问题。 我可以使用任何公共方法,除了板条箱流和发送流。 这两个问题在控制台中引发了一个错误:

选择权 **MYAPI*596(596)Index.html:61 XMLHttpRequest无法加载**MYAPI*。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。Index.html:61未捕获的NetworkError:未能对“XMLHttpRequest”执行“发送”:未能加载“**MYAPI*”

我使用的代码是:

    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://api.surveymonkey.net/v2/batch/send_flow?api_key="+MYAPI, false);
    xhr.setRequestHeader('Access-Control-Allow-Origin' ,'*');
    xhr.setRequestHeader('Authorization','bearer '+TOKEN);
    xhr.setRequestHeader('Content-Type', 'application/json');
    var body = '{"survey_id" :"54681373","collector":{"type":"email", "recipients":[{"email": "martins.nuno.santos@gmail.com", "first_name": "Nuno", "last_name": "Santos"}],"send":true}, "email_message":{"reply_email":"martins.nuno.santos@gmail.com", "subject":"YOLO", "body_text": "Vamos lá experimentar isto ! [SurveyLink], para remover carrega em [RemoveLink]"}}';
    xhr.send(body);
    console.log(xhr.status);
    console.log(xhr.statusText);
    console.log(xhr.responseText);

需要SSL

您收到该错误消息的原因是您使用错误的协议(HTTP而不是HTTPS)访问API。由于需要SSL,因此在响应
服务需要SSL
的主体中会收到一条错误消息。但是,该消息不会以“Access Control Allow Origin”(访问控制允许来源)标题出现,并且会触发此错误消息

如果您更改
http://api.surveymonkey.net
https://api.surveymonkey.net
,你应该可以走了


作为旁注:“Access Control Allow Origin:*”标题是服务器将返回给您的内容。这不是你需要发送到服务器的东西。这是你得到的回应中缺少的东西。您可以从代码中安全地删除将其添加到请求中的行。

仍然不起作用,但感谢您的提示;)错误仍然是Samehy Nuno,我提到您在响应的主体中收到了一条错误消息。您刚刚转发了代码生成的错误。您需要深入了解API发送给您的错误。我注意到日志中的一些错误也显示了错误的URL。这将生成不同的错误消息。