Dojo xhrGet只返回null

时间:2011-06-29 05:45:26

标签: javascript dojo

以下Dojo代码的加载回调返回null。应该没有任何问题,因为jQuery的ajax运行正常。我在这里缺少什么?

Dojo版本 - 无效

dojo.xhrGet({
    url:"http://localhost:11039/",
    handleAs:"json",
    load: function(data){
        console.log(data); // Prints null
    },
    error: function(err){
        console.log('Error: ' + err);
    }
});

jQuery版本 - 正常工作

$.ajax({
    url:"http://localhost:11039/",
    type: 'GET',
    dataType: 'json',
    success: function(res){
        console.log(res) // Prints some JSON
    },
    error: function(err){
        console.log('ERROR: ' + err);
    }
});

查看Firebugs网络标签我注意到jQuery版本实际上发送了一个GET请求:

GET localhost:11039    200OK     localhost:11039     62.8KB

而Dojo版本......“OPTIONS”?

OPTIONS localhost:11039    200OK     localhost:11039     62.8KB

其他详细信息:

  • 我在Ffox,Chrome和Safari中获得相同的结果。

1 个答案:

答案 0 :(得分:0)

Dojo发送OPTIONS请求通常意味着dojo将其视为跨域请求。

OPTIONS请求正在检查Access-Control-Allow-Origin标头,以查看是否应该执行该请求,即使它被视为跨域。

有关详细信息,请参阅https://developer.mozilla.org/En/HTTP_Access_Control