Ошибка запроса MooTools - PullRequest
0 голосов
/ 03 июля 2010

Так что у меня есть небольшая проблема. Когда я прошу MooTools отправить запрос, он каждый раз возвращается как неудачный. Кажется, я не могу диагностировать проблему, потому что, если я пытаюсь получить информацию о возвращенном заголовке, консоль просто выдаёт мне "Refused to get unsafe header 'Status'" Сообщение Единственное, о чем я могу думать, это то, что сервер не позволяет мне получать доступ к внешним ресурсам, но, возможно, я просто неправильно его кодировал.

Вот код запроса:

var finfo = current.textFontData();

var url = 'http://antiradiant.com/clients/TMW/rbwizard/mailer.php?s='+current.size+'&b='+current.box+'&l='+current.lidWood+'&c='+current.cartID+'&f='+finfo.font+'&l1='+finfo.line1+'&l2='+finfo.line2;
console.log(url);

var req = new Request({
    url: url,
    onSuccess: function() {
        console.log('success');
        //atc2.send();
    },
    onFailure: function() {
        console.log('failure');
        console.log(this.getHeader('Status'));
        //atc2.send();
    },
    onException: function(headerName, value) {
        console.log('exception');
        console.log(headerName+': '+value);
    }
});

req.send();

Этот код получен из ресурса rb_wizard.js (строки 81-103) на http://tylermorriswoodworking.myshopify.com/pages/recipe-box-wizard?b=maple&l=cherry&s=3x5&c=42042892

Ответы [ 3 ]

2 голосов
/ 03 июля 2010

В Mootools есть класс Request.JSONP, который поможет решить вашу междоменную проблему.Это подкласс класса Request, поэтому ваши методы должны работать одинаково.Я считаю, что вам нужно вызывать .post () или .get () в конце вместо send, но это все, что нужно изменить.Я не уверен, на какой версии вы работаете, но вот ссылка на него Запрос Mootools.JSONP

1 голос
/ 03 июля 2010

Сообщение об ошибке "Refused to get unsafe header 'Status'" выводится браузерами на основе WebKit (Safari, Chrome и т. Д.) При нарушении модели междоменной безопасности .

Таким образом, представляется вероятным, что код, который вы вставили, находится в домене, отличном от antiradiant.com, и поэтому браузеру не разрешено запрашивать сайты на сайте antiradiant.com.

0 голосов
/ 05 июля 2010

То, что я в итоге сделал, это просто использование iframe.Все, что мне действительно нужно было сделать, это отправить данные на другой сайт и не получать их, чтобы все получилось.

...