Ajax и VbScript: извлечение переменной Post в test.asp - PullRequest
1 голос
/ 28 марта 2011

текущий Я пытаюсь использовать ajax для моего сайта ....... из-за размера данных не ограничен, мне нужно использовать метод post для отправки данных в базу данных, но проблема в том, что я не могу получить сообщение переменные в test.asp

вот скрипт, который я использую

function SaveData(content ) 
{
    var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    msg=xmlhttp.responseText;
    alert(msg);
    }
  }

 var para = encodeURIComponent("content="+content)
xmlhttp.open("POST","test.asp",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xmlhttp.send(para)

}

и вот код test.asp

t = Request.form("content")
Response.write(t)

, пожалуйста, помогите мне решить эту проблему получения переменной метода Post в test.asp

если возможно, любой может поделиться кодом jquery ajax с методом post в asp classic, что также будет полезно

1 Ответ

2 голосов
/ 28 марта 2011

Вы должны изменить это:

var para = encodeURIComponent("content="+content)

в это:

var para = "content=" + encodeURIComponent(content);

То, как это было, вы отправляли что-то подобное на сервер:

content%3Dtest%20data%20123

С исправленной строкой кода вы отправляете что-то вроде этого, как и должно быть:

content=test%20data%20123

Рассматривали ли вы использование библиотеки JavaScript, такой как jQuery ? Библиотека будет абстрагироваться от всей этой неприятности:

$.post("test.asp", { 'content': content }, function(data) {
    alert("Returned data: " + data);
});
...