使用JavaScript和ASP从阿贾克斯获得价值使用JavaScript和ASP从阿贾克斯获得价值

2019-05-12 11:06发布

我用这Ajax代码。 但我不知道我将如何使用JavaScript检索我的服务器端ASP我值1的值。

在我的服务器端我想有像<%VAR newdata =值(这是从服务器端的一个 - 这是这里发送)%>

请帮忙 !!! 太感谢了

我知道这是可能的,但是PHP我怎么做与JavaScript

    <script>
function ajaxNow(_data)
{
  var xmlHttp;
  try
  {
    /* Firefox, Opera 8.0+, Safari */
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    /* newer IE */
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      /* older IE */
      try
      {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        alert("Your browser is old and does not have AJAX support!");
        return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4)
    {
      /* this puts the value into an alert */
      alert("Value read is: "+xmlHttp.responseText);
    }
  }
  xmlHttp.open("GET","ajax_file.asp?value1="+_data,true);
  xmlHttp.send(null);
}
</script>

Answer 1:

当你的Ajax请求成功,你将不得不在Request-对象的查询字符串收集的查询字符串变量。

难道这样的工作在服务器端:

<% var newdata = Request.QueryString("value1"); %>


Answer 2:

客户端JavaScript不能查询显而易见的原因基于服务器的数据库。 根据你看起来是在做,我建议你的代码,它利用实际查询的ASP VBA / C#/什么,然后你可以分析你的客户端AJAX调用是正常的结果。



Answer 3:

URL编码_datanbquestions变量。 Request.QueryString("param1")将他们为你解码。

JavaScript的URLEncode的:

escape(_data);

你也可以使用从VB脚本Server.URLEncode()方法。



Answer 4:

xmlHttp.send正确writen

  • 它不检查你有一个200的状态试图处理数据之前。
  • 它没有编码的数据,以确保它是安全网址

我会建议使用库来处理XHR的东西,而不是重新发明轮子。 Microjs有大量的小型图书馆,如果你不使用的路数(如一个列表YUI或jQuery的 )。

我如何才能在使用Javascript服务器端的值。

它仅仅是查询字符串数据,所以它会在Request.QueryString



Answer 5:

无论服务器端脚本输出将通过AJAX请求被拾起。 所以,如果Ajax请求的东西,在服务器端做跑腿,并获取从数据库中的结果,然后输出。

有负载和教程的负荷就如何做到的正是这种。 只要确保你正确地保护您的脚本,以便它不会被滥用。



Answer 6:

你可以让ASP页写的结果作为JSON格式通过XMLHttpRequest对象及其之后的处理直接读取:

例如JSON的

var myJSONObject = {"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
};

那么您可以使用Web浏览器或eval()函数(不推荐,严重!!!)本地解析器解析用ASP页的数据,并在你的JavaScript客户端代码中使用它。

有关更多信息JSON基本信息

JSON的浏览器:

  • 互联网浏览器8+
  • Mozilla Firefox浏览器/海猴子
  • 在Opera,Chrome浏览器,Safari浏览器也工作


Answer 7:

//(javascript, ajax = xmlHttp)

如果您的响应文本是一个数组,你可以使用这个。

var myArray = eval(xmlHttp.responseText);

或者如果它是只是文本就可以使用。

var value = xmlHttp.responseText

另一个approach.This只是一个模板。 如果您使用的jQuery,你可以使用这种方法。 我希望它解决您的问题,或给一个想法。

HTML的一部分:

<div id="willupdate"></div>
<div id="willupdate2"></div>

JQuery的部分:

 $(document).ready(function() {

getValue("serverurl",updateName)
getValue("serverurl",updateSurName)
 });

function updateName(name){
 $("#willupdate").text(name)
}


function updateSurName(name){
 $("#willupdate2").text(name)
}

function updateSurName(name){
 $("#willupdate").text(name)
}

function getValue(url,opt_onRecieved){
    if( !url || url == ""){
        alert("request url error");
        return;
    }

    $.ajax({
        type:"POST",
        url: url,
        dataType:"json",
        success: function(data){
            opt_onRecieved(data);

        }
    });
}


Answer 8:

这里是一个非常好的Ajax教程。 有一切解释。 https://developer.mozilla.org/en/AJAX/Getting_Started

你忘了一个双引号:

xmlHttp.open("post","CmsAjax.asp",true)

要获取数据:

/* this puts the value into an alert */
alert(xmlHttp.responseText);


Answer 9:

你需要编码服务器上的数据,然后将它们在客户端进行解码。 您可以使用JSON-RPC这一点。

这里有几个环节:

官方网站

维基百科条目约JSON-RPC

不同语言的JSON-RPC服务的实现

但你并不需要使用JSON-RPC,如果你只有一个值,你可以在ASP编码为JSON,然后在JavaScript解码

var array = JSON.parse(xmlHttp.responseText);


文章来源: Get value from AJAX using Javascript and ASP