CORS同步请求在Firefox中不起作用

时间:2013-05-21 10:59:53

标签: javascript jquery firefox cross-domain cors

jQuery(async ajax section)的官方文档说:

  

跨域请求和dataType:" jsonp"请求不支持   同步操作。

然而,这适用于所有最近的浏览器,但firefox版本> = 20.这是我正在制作的电话类型:

$.ajax({
      type : "GET",
      async: false,
      dataType : "text",
      url : link,
      xhrFields: { withCredentials: true },

      success: function(response){
         console.log("success ");
      },
        error: function(error){
            console.error(error);               
        }  
});

有没有人知道为什么会这样?

更新 我用jQuery和vanilla XHR测试了错误总是一样的

  

[例外......"不支持参数或操作   基础对象"代码:" 15" nsresult:" 0x8053000f   (InvalidAccessError)"

1 个答案:

答案 0 :(得分:18)

使用beforeSend代替xhrField

$.ajax({
    type : "GET",
    async: false,
    dataType : "text",
    url : link,
    beforeSend: function(xhr) {
      xhr.withCredentials = true;
    },
    success: function(response){
      console.log("success ");
    },
    error: function(error){
      console.error(error);               
    }
});