为什么我突然收到没有Access-Control-Allow-Origin标头的错误?

时间:2014-09-11 15:54:43

标签: surveymonkey

昨天,我很高兴从本地开发机器(http:// localhost:nnnn)对SurveyMonkey进行API调用

今天早上(在完全没改变之后),我突然收到以下错误:

XMLHttpRequest cannot load https://api.surveymonkey.net/v2/surveys/get_survey_list?api_key=xxxxxxxxxx. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8500' is therefore not allowed access. The response had HTTP status code 596.

我正在使用的代码产生此错误如下:

$.ajax({
    url: 'https://api.surveymonkey.net/v2/surveys/get_survey_list?api_key=xxxxxxxxxx',
    type: 'post',
    contentType: 'application/json',
    cache: false,
    dataType: 'json',
    data: JSON.stringify({
        survey_id: 'nnnnnnnn',
        respondent_ids: respondents  //respondents is an array defined elsewhere
    }),
    headers:{
        Authorization: 'bearer ' + local.SurveyMonkey.AccessToken,
        'Content-Type': 'application/json'
    },
    success: function(survey, textStatus, jqXHR){
        $('#SMResults').empty().append('<br />'+textStatus);
        $p.fnLog(survey.data);
        $p.fnLoadView('surveyView.cfm','SMResults',survey);
    },
    error: function(jqXHR, textStatus){
        $('#SMResults').empty().append('Oh nos!! Something went wrong!');
        $p.fnLog(jqXHR);
        $p.fnLog('----------------------');
        $p.fnLog(textStatus);
    },
    complete: function(jqXHR, textStatus){
        $('#SMResults').append("<br /><br />We're done.");
    }
});

同样,这段代码昨晚工作得非常出色。我尝试将此转换为JSONP调用失败。 :(

知道发生了什么事吗?我昨天为什么能高兴地拨打这些电话,但今天不是?

感谢阅读。

更新:结果是我进一步检查了我得到的响应标头: X-Mashery-Error-Code: ERR_596_SERVICE_NOT_FOUND

这就是响应中没有相应的Access-Control标头的原因。不知道Mashery有什么用?或者我应该在哪里看?

更新2:我对这是一个SurveyMonkey / Mashery问题更有信心。我刚刚访问了SurveyMonkey API Console页面,它告诉我控制台遇到了问题,他们正在努力修复它。

我猜这只是一个更大问题的症状。

0 个答案:

没有答案