我用这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编码_data
和nbquestions
变量。 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