首页 > 代码库 > 当跨域时,js ajax 请求出现options请求

当跨域时,js ajax 请求出现options请求

上面有文章说过http的options. 查了很久.试了很多版本的jQuery,下面这段代码在同事的机子上测试是没有问题的.正常 的请求, 一在我机子上面就会出现option,网上说先向服务器预检等.为什么在同事的机子上面是正常的呢..最后查出原因.是我在html页面还引入了一个全局的js文件,里面有一个全局配置crossDomain:false,于是我在ajax请求是加上crossDomain:true,就OK了..让其请求是跨域请求.

postdata:function(t,i){

var i=i||0;
var ad_type = 1;
var ad_pos = ‘‘;
var click_close = $(".pop_body").attr("click_close"); // 点击就关闭
if(t == ‘show‘) ad_type = 1;
if(t == ‘close‘) ad_type = 3;
if(t == ‘clicks‘)  {
ad_type = 2;
ad_pos = this.winOptions.type[‘clicks‘][i];
if(click_close) $.ydapp.client.hidePopWindow();
}
if(ad_type == 3) {
$.ydapp.client.hidePopWindow();
}
var closeTips = function(){
if(ad_type == 3) $.ydapp.client.closePopWindow();
if(ad_type == 2 && click_close) $.ydapp.client.closePopWindow();
}
var post_data = http://www.mamicode.com/{‘preview‘ : this.winOptions.is_preview,
‘oem_id‘ : this.winOptions.oem_id,
‘client_id‘ : this.winOptions.client_id,
‘client_ver‘ : this.winOptions.client_ver,
‘tips_id‘ : this.winOptions.tips_id,
‘tips_name‘ : this.winOptions.tips_name,
‘ad_type‘ : ad_type,
‘ad_pos‘ : ad_pos
};


$.ajax({
type : ‘POST‘,
url : $.ydapp.config.SITE_URL+"/ntips/ajaxcount",
data : post_data,
dataType :‘jsonp‘,
crossDomain:true,
jsonp: ‘jsoncallback‘,
success : closeTips,
error : closeTips
});

},

 
另外,需注意,jsonp跨域请求是GET方式,不能上传文件。 

当跨域时,js ajax 请求出现options请求