1. 程式人生 > >當跨域時,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 = {'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
});

},