2010-02-18 61 views
2

從我的JavaScript我嘗試發佈數據,以我的ASP頁面使用encodeURIComponent方法如何在asp中使用decodeURIComponent?

var dd = encodeURIComponent(document.getElementById("Remarks").innerHTML); 

我如何使用VBScript在ASP頁面進行解碼我encodeURIComponent方法?

希望您的支持

回答

5

我想你的意思是你想在vb.net代碼的URI部分後面,而不是解碼VB腳本。

這裏的東西是你不需要它... Request.Querystring("query_string_variable")自動爲你做。

如果明確要做到這一點,你可以使用

HttpUtility.UrlDecode()在.NET

如果你真的在VBScript做到這一點,也許這個鏈接可以幫助你 http://www.kamath.com/codelibrary/cl006_url.asp

0

當你AJAX /發佈一個正常的「文本」成爲「不安全」的字符,所以你必須encodeURI發送一些像文本一樣在一個textarea評論

var URL = "somepage.asp"; 
var Params = "text=Hello World!"; 
var ajax = getHTTPObject();  
ajax.open("POST", URL, true); 
ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
ajax.setRequestHeader("Content-length", Params.length); 
ajax.setRequestHeader("Connection", "close"); 
ajax.onreadystatechange = function() { 
    if (ajax.readyState == 4 && ajax.status == 200) { 
     divResponse.innerHTML = ajax.responseText; //alert(ajax.responseText); 
    } 
} 
ajax.send(Params); 

結果將是一些像:

HelloWorld! 

因此,爲了編碼,你必須把它與JavaScript的方法編碼

var URL = "somepage.asp"; 
var Params = encodeURI("text=Hello World!"); 
var ajax = getHTTPObject();  
ajax.open("POST", URL, true); 
ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
ajax.setRequestHeader("Content-length", Params.length); 
ajax.setRequestHeader("Connection", "close"); 
ajax.onreadystatechange = function() { 
    if (ajax.readyState == 4 && ajax.status == 200) { 
     divResponse.innerHTML = ajax.responseText; //alert(ajax.responseText); 
    } 
} 
ajax.send(Params); 

然後,一個網址結果會像這樣:

Hello World! 

所以問題是如何「解碼」是URI爲了在ASP經典serverpage

編輯使用它編碼:

<% 
FUNCTION URLDecode(str) 
    Dim objScript 
    Set objScript = Server.CreateObject("ScriptControl") 
    objScript.Language = "JavaScript" 
    URLDecode = objScript.Eval("decodeURIComponent(""" & str & """.replace(/\+/g,"" ""))") 
    Set objScript = NOTHING 
END FUNCTION 
%>