DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS this作用域以及GET傳輸值過長的問題解決方法
JS this作用域以及GET傳輸值過長的問題解決方法
編輯:關於JavaScript     
在開發項目的時候,前端遇到兩個比較隱蔽的問題。

問題一.專IE7浏覽器,IE URL參數過長問題,引發HTTP Status 122報錯
原因:在IE6.8下沒有什麼問題,但在IE7就不兼容get參數過長,google上說“Don't use the GET method in Ajax Apps, if you can void it, because IE7 craps out with more than 2032 characters in a get string”

解決方法:
把原項目采用jsonp get的數據方法改為 常規post數據方法

問題二. this作用域問題
原因:this如果不是在對象內部默認為是 window這個大對象,如下面的this如是放在一個ajax的裡面指的是當前域名ajax對象

解決方法:
復制代碼 代碼如下:
var test={};
test.getflash = 2;
test.test =function(){
alert(this.getflash); //2
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert(this.getflash); //等於undefine
}
});
}

解決方法:
復制代碼 代碼如下:
test.test =function(){
var thisValue = this;
alert(thisValue.getflash); //2
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert(thisValue.getflash); //2
}
});
}
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved