MooTools请求失败

时间:2010-07-03 15:01:17

标签: javascript ajax mootools xmlhttprequest

所以我有点问题。当我要求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();

此代码源自http://tylermorriswoodworking.myshopify.com/pages/recipe-box-wizard?b=maple&l=cherry&s=3x5&c=42042892

上的资源rb_wizard.js(第81-103行)

3 个答案:

答案 0 :(得分:2)

Mootools有一个名为Request.JSONP的类,它将帮助解决您的跨域问题。它的Request类的子类,所以你的方法应该工作相同。我相信你需要在结尾调用.post()或.get()而不是发送,但这就是所有应该发生的事情。我不确定你在运行什么版本,但这里是文档链接Mootools Request.JSONP

答案 1 :(得分:1)

当您违反WebKit时,基于cross-domain security model的浏览器(Safari,Chrome等)会出现错误消息"Refused to get unsafe header 'Status'"

因此,您粘贴的代码似乎位于antiradiant.com以外的域中,因此(浏览器)不允许在antiradiant.com上请求网站。

答案 2 :(得分:0)

我最终做的只是使用iframe。我真正需要做的就是将数据发送到另一个网站,而不是接收任何网站。