2010-02-18 2 views
2

С моей JavaScript я стараюсь размещать данные на моей странице осины с помощью encodeURIComponentКак использовать decodeURIComponent в asp?

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

Как я расшифровать мой encodeURIComponent в осины страницы с помощью VBScript?

надеясь ваша поддержка

ответ

5

я думаю, что вы имеете в виду вы хотите, чтобы декодировать компонент URI в коде vb.net позади и не VB Script.

вещь здесь, вам это не нужно ... Request.Querystring("query_string_variable") автоматически делает это за вас.

если вы явно хотите, чтобы сделать это, Вы можете использовать

HttpUtility.UrlDecode() в .net

, если вы на самом деле сделать это в VBScript, может быть, эта ссылка поможет вам http://www.kamath.com/codelibrary/cl006_url.asp

0

Когда вы AJAX/отправляете обычный «текст» с «небезопасными» символами, поэтому вам нужно encodingURI отправить какой-то «текст», например комментарии в текстовое поле

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! 

так, чтобы закодировать в URL, вы должны отправить его кодируются с помощью метода 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

EDIT:

<% 
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 
%> 
Смежные вопросы